sql基礎語法,謂詞

所謂謂詞就是返回值是真值的詞
01模糊查詢–like
如果只需要確定一部分內容,使用謂詞like

SELECT*
FROM SampleLike
WHERE strcol LIKE 'ddd%'

在這裏插入圖片描述
%代表任意字符,%在開頭,代表以。。。結尾的字符
%在末尾代表,以。。。。開頭的字符。%在兩邊代表與中間一致的字符

SELECT*
FROM SampleLike
WHERE strcol LIKE 'ddd___'

在這裏插入圖片描述
-也可以起到佔位的作用,但是僅能代表一個字符
小結:%–選擇;-填空
02範圍查詢–between
格式:
參數1 between 參數2 and 參數3
between與其他函數或者謂詞不同的是他使用了三個參數

SELECT product_name,sale_price
FROM PRODUCT
WHERE sale_price BETWEEN 100 AND 1000

三個參數分別爲sale_price 100 1000
注意這裏是包含臨界值100和1000的如果不想包含需要使用<和>
在這裏插入圖片描述

SELECT product_name,sale_price
FROM PRODUCT
WHERE sale_price>100
AND sale_price<1000

在這裏插入圖片描述
03IN謂詞–or的簡單用法
3.1在範圍內快速選擇
格式:in(字段1,字段2,字段3.。。。。)

SELECT product_name,purchase_price
FROM PRODUCT
WHERE purchase_price IN (320,500,5000)

如果選擇不在範圍內的使用not in
在這裏插入圖片描述

SELECT product_name,purchase_price
FROM PRODUCT
WHERE purchase_price  NOT IN (320,500,5000)

在這裏插入圖片描述
3.2使用子查詢作爲in謂詞參數

SELECT product_name,sale_price
FROM   Product
WHERE  product_id IN(SELECT product_id
                     FROM ShopProduct
                     WHERE shop_id='000a')

在這裏插入圖片描述
如果想要選擇不在該子查詢中的內容,可以使用not in
使用子查詢作爲in的條件,好處就是如果商品發生改變,只需要改變子查詢內容,如果沒有子查詢就需要沒完沒了的修改select語句。
04謂詞–exists
exist只關心表中是否有滿足條件的記錄,並不關心返回了什麼值。如果有滿足條件的記錄返回true。
exist區別於其他的只有一個參數,就是關聯子查詢。

SELECT product_name,sale_price
FROM PRODUCT AS P
WHERE EXISTS (SELECT*
              FROM ShopProduct AS SP
              WHERE SP.shop_id = '000a'
              AND SP.product_id= P.product_id)

在這裏插入圖片描述
這裏可以認爲在exists的子查詢中使用select*from是種習慣

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章