#條件查詢
語法:select 查詢列表
from 表名
where 篩選條件
執行順序:from>where>select
特點:1、按關係表示式篩選
>
<
>=
<=
=<
> 也可以用!=
,但是不建議
2、按邏輯表示式篩選
andor
not 也可以用&&||!
,但是不建議
3、模糊查詢
like
inbetween and
is null
模糊查詢:
1、like
功能: 一般和萬用字元搭配使用,對字元型資料進行部分匹配查詢
常見的萬用字元:
_任意單個字元
%任意多個字元
#查詢姓名中包含字元a的員工資訊
select *
from employees
where last_name like '%a%'
;#查詢姓名中包含最後乙個字元為e的員工資訊
select *
from employees
where last_name like '%e'
;#查詢姓名中包含第乙個字元為e的員工資訊
select *
from employees
where last_name like 'e%'
;#查詢姓名中包含第三個字元為x的員工資訊
select *
from employees
where last_name like '__x%'
;#查詢姓名中包含第二個字元為_的員工資訊
select *
from employees
where last_name like '_\_%'
;2、in
功能:查詢某字段的值是否屬於指定的列表之內
a in()
;a notin(
);#查詢部門編號是30/50
/90的員工名、部門編號
select last_name,department_id
from employees
where department_id in(30
,50,90
);#查詢公眾編號不是sh_clerk或it_prog的員工資訊
select *
from employees
where job_id not in (
'sh_clerk'
,'it_prog');
3、between and
功能:判斷某個欄位的值是否介於xx之間
between and
/not between and
#查詢部門編號是30
-90之間的部門編號、員工姓名
select department_id,last_name
from employees
where department_id between 30 and 90
;#查詢部門編號不是30
-90之間的部門編號、員工姓名
select department_id,last_name
from employees
where department_id not between 30 and 90
;is null/is not null
= 只能判斷普通的內容
is 只能判斷null值
<=
> 安全等於,既能判斷普通內容,又能判斷null值
#查詢沒有獎金的員工資訊
select *
from `employees`
where `commission_pct` is null
;#查詢沒有獎金的員工資訊
select *
from `employees`
where `commission_pct` <=
>
null
;
SQL 條件查詢
按條件表示式 其中 意思一樣,都是不等於,建議用 邏輯表示式 and or not 模糊查詢 like between and in is null 檢視name第3個字元為n,第五個為z的記錄 select from user where name like n z between and 可以提...
SQL多條件查詢子查詢SQL多條件查詢子查詢
多條件搜尋時where 1 1並不高效,如果使用這種方法,在資料庫中會做全表查詢 對每行資料都進行掃瞄比對 會無法使用索引等優化查詢的策略,建立的索引會暫時失效。case函式 case必須和end一起使用,下接when then select 數學成績 case when math 100 then...
sql 時間條件查詢
select from table t where t.time to date aaaa,yyyy mm dd hh24 mm ss and t.timeaaaa,bbbb是字串型別 比如 aaaa 2018 04 19 00 00 00 bbbb 2018 04 20 00 00 00 to d...