iT邦幫忙

2024 iThome 鐵人賽

DAY 6
0

比較運算子
說明:與其他值跟資料庫的值做比較,並返回布林值 (true 或 false)。在查詢中是非常常使用的,用於篩選和選擇符合特定條件的數據

小筆記:在使用比較運算子時,最好以資料型態相同的值來做比較

  • 相等
    • 符號: =
    • 作用:檢查多個值之間是否相等
    • 用法:
      1. 檢查位於運算子=左邊的值是否跟運算子=右邊的值相同
      2. 以=搭配子查詢(回傳一行資料列)
  • 不相等
    • 符號: <>/!= (!是否定的意思)
    • 作用:當我們想從查詢結果中排除某些資料
    • 舉例:
      select *
      from choose_dinner
      where dinner != 'rice';
      表示排除晚餐吃飯的選項
      
  • 大於
    • 符號: >
    • 作用:檢查位於運算子>左邊的值是否大於運算子>右邊的值
  • 大於等於
    • 符號: >=
    • 作用:檢查位於運算子>=左邊的值是否大於等於運算子>=右邊的值
    • 與>的差異是>=有包含相等的值
  • 小於
    • 符號: <
    • 作用:檢查位於運算子<左邊的值是否小於運算子<右邊的值
  • 小於等於
    • 符號: <=
    • 作用:檢查位於運算子<=左邊的值是否小於等於運算子<=右邊的值
    • 與<的差異是<=有包含相等的值
  • null
    • is null 空值
      • 表示資料不符合條件或是無法取得資料
      • 當使用語法 is null時,資料表只會回傳空值(若使用 = null是無法達成此目的)
    • is not null 非空值
      • 檢查不是null的值
      • 若使用 != null 或 <> null 是無法成功產生正確結果
  • 是否在一組指定值
    • 關鍵字 in
      • 用法:
        1.在一份指定的清單中可以查詢回傳的多個值
        2.搭配子查詢使用
      • 舉例
        select *
        from fruit_type
        where fruit_type_name in ('apple' , 'banana');
        表示從資料表fruit_type回傳特定的水果(apple,banana)
        
    • not in
      • 用法:
        1.排除某些特定的值
        2.搭配子查詢使用
  • 是否在指定範圍
    • 運算子between
      • 作用:檢查某一值是否在某一指定範圍中(含邊界)
    • not between
      • 作用:檢查某一值是否不在某一指定範圍中(不包含邊界)
  • 是否符合模式
    • 運算子like
      • 檢查某一字串是否符合某模式
      • 用法一-與萬用字元「%」做搭配:
        • 用來比對任何數量的字元
        • 使用兩個%可以尋找該字串裡任何位置的字元
        • 舉例
          select*
          from student_name
          where last_name like 'S%';
          表示會尋找姓氏開頭是s的學生名字
          
      • 用法二-與萬用字元「_」做搭配:
        • 用來比對任何任何的字元
        • 舉例
          select*
          from seven_letter_term
          where term like '_er';
          表示會尋找以er結尾的三個字母單字
          
    • not like
      • 找出不符合模式的字串
      • 同樣可使用萬用字元%與_做搭配
  • 關鍵字or
    • 滿足兩個條件的其中一個即可回傳結果
    • 若同時使用關鍵字and和or時,and必須滿足兩個條件,or則是滿足一個條件即可。因此可以使用小括號來避免回傳錯誤結果

待續~

下一章:一周回顧-複習&練習


上一篇
Day5 合併查詢(下)
下一篇
Day7 第一周回顧-複習&練習
系列文
從零開始的MySQL開發旅程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言