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
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/116379.html
標籤:其他
上一篇:SQL入門大全,個人總結!
