DISTINCT
SELECT DISTINCT用來(lái)過(guò)濾結(jié)果集中的重復(fù)行,確保SELECT子句中返回指定的一列或多列的值是唯一的伟恶。
DISTINCT子句只能在SELECT語(yǔ)句中使用。
SELECT *,COUNT(DISTINCT age) from infos i group by age --使用DISTINCT去掉多余的重復(fù)記錄
WHERE
WHERE子句用來(lái)指定過(guò)濾條件返回符合查詢條件的行記錄毅该。
WHERE子句出現(xiàn)在FROM子句之后博秫,但是在ORDER BY子句之前。
SELECT --使用WHERE子句指定SELECT語(yǔ)句返回符合搜索條件的行記錄
stuid,age
from
infos i2
WHERE --WHERE放在FROM之后眶掌,但是要放在ORDER BY 之前
age = '20' --age > '20'
AND stuid = '124';
要組合條件挡育,可以使用AND、OR和NOT邏輯運(yùn)算符朴爬。
要查找兩個(gè)值之間的行即寒,可以在WHERE子句中使用BETWEEN運(yùn)算符。
SELECT --使用WHERE子句指定SELECT語(yǔ)句返回符合搜索條件的行記錄
stuid,age
from
infos i2
WHERE --WHERE子句后加入BETWEEN查找在兩個(gè)值之間的行
age BETWEEN 20 AND 23; --age IN(20,22)
要查詢值列表中的行記錄,可以使用IN運(yùn)算符母赵。
AND子句
AND運(yùn)算符組合了布爾表達(dá)式逸爵,如果兩個(gè)表達(dá)式都為真,則返回true凹嘲;如果兩個(gè)表達(dá)式其中有一個(gè)表達(dá)式為假师倔,則返回false。
SELECT
stuid,age
from
infos i
WHERE
age = '20'
AND stuid = '125'; --AND運(yùn)算符查詢返回了滿足兩個(gè)表達(dá)式的行
可以將AND運(yùn)算符與其他邏輯運(yùn)算符(比如OR或NOT)進(jìn)行組合施绎,形成一個(gè)條件溯革。
SELECT
stuid,age
from
infos i
WHERE
(age = '20'OR age = '21') --AND運(yùn)算符可以和OR或NOT進(jìn)行組合,形成新的條件
AND stuid = '125';
OR
OR運(yùn)算符組合了布爾表達(dá)式谷醉,如果其中一個(gè)表達(dá)式為真(true)致稀,則返回true。
SELECT
stuid,age
from
infos i
WHERE
age = "20"
OR age = "21" --OR運(yùn)算符俱尼,表達(dá)式有一個(gè)為真時(shí)抖单,返回true
可以使用IN運(yùn)算符來(lái)代替多個(gè)OR運(yùn)算符。
FETCH
FETCH子句用來(lái)限制查詢返回的行數(shù)
IN
IN子查詢
SELECT employee_id, first_name, last_name
FROM employees
WHERE
employee_id IN(
SELECT --子查詢
DISTINCT salesman_id
FROM
orders
WHERE
status = 'Canceled'
)
ORDER BY first_Name;
LIKE
LIKE可以用來(lái)測(cè)試列中的值是否與指定的模式匹配遇八。
SELECT
stuid,age
FROM
infos
WHERE
stuid LIKE '12%'; --stuid LIKE '%23';