MySQL where 條件字句查詢
阿新 • • 發佈:2021-01-14
where 條件字句
搜尋條件可由一個或多個邏輯表示式組成 , 結果一般為布林值
邏輯運算子
運算子 | 語法 | 描述 |
---|---|---|
and && | a and b a && b | 邏輯與 兩個為真, 結果為真 |
or || | a or b a || b | 邏輯或 一個為真, 結果為真 |
not ! | not a !a | 邏輯非 真為假, 假為真 |
-- ========== where ============ SELECT `name`,`sex` FROM student -- 查詢 name 數值在 95 ~ 100 之間的 SELECT `NAMe`, `address` FROM student WHERE `NAME` >= 95 AND `NAME`<= 100 -- and && SELECT `NAMe`, `address` FROM student WHERE `NAME` >= 95 && `NAME` <= 100 -- between and (區間) SELECT `name`,`address` FROM student WHERE `name` BETWEEN 95 AND 100 -- 查詢name 不等於 1 的同學 SELECT `NAMe`, `address` FROM student WHERE `NAME` != 1 AND `NAME` < 10 -- not SELECT `NAMe`, `address` FROM student WHERE NOT `NAME` = 100 AND `NAME` > 90
模糊查詢: 比較運算子
運算子 | 語法 | 描述 |
---|---|---|
is null | a is null | 如果a為null, 結果為真 |
is not null | a is not null | 如果a不為null, 結果為真 |
between and | 3 between 1 and 5 | 如果 3 在 1 和 5 之間, 結果為真 |
Like | a like b | sql匹配, 如果a匹配b, 結果為真 |
In | a in (abcd, pdosa, ...) | 若 a 在 (abcd, pdosa, ...) 中, 結果為真 |
-- ========== 模糊查詢 ============ -- 查詢 姓張的 like 結合 %(代表0到任意個字元) _(代表一個字元) SELECT `name` FROM student WHERE `name` LIKE '張%' -- 查詢 姓張的 後面只有一個字的 SELECT `name` FROM student WHERE `name` LIKE '張_' -- 查詢 姓張的 後面有兩個字的 SELECT `name` FROM student WHERE `name` LIKE '張__' -- 查詢 名字中有張字的 SELECT `name` FROM student WHERE `name` LIKE '%張%' -- ==== in 具體的一個或多個值 ==== -- 查詢 1,2,3 號同學 SELECT `id`,`name` FROM student WHERE `id` IN (1,2,3) -- 查詢 北京 的同學 SELECT `id`,`name`,`address` FROM student WHERE `address` IN ('北京') -- ==== null , not null ==== -- 查詢地址為空或者null的 SELECT `name`,`address` FROM student WHERE `address`='' OR `address` IS NULL -- 查詢有日期的 不為空的 SELECT `name`,`address`,`birthday` FROM student WHERE `birthday` IS NOT NULL -- 查詢沒有日期的 為空的 SELECT `name`,`address`,`birthday` FROM student WHERE `birthday` IS NULL