排序查詢
select 查詢列表 from 表名 where 篩選條件;
條件查詢的查詢順序為:
第一步:表名,表示查詢來自哪張表
第二步:篩選條件,在選定表中按條件來篩選
第三步:查詢,查詢篩選後的字段
select
*from employees where salary>
12000
;
select last_name,department_id from employees where department_id!=
90;
select last_name,salary,commission_pct
from employees
where salary>=
10000
and salary<=
20000
;
select
*from employees
where department_id<
90or department_id>
110or salary>
15000
;
1.like
一般和萬用字元搭配使用
萬用字元
:
%
:任意多個字元,包含0個字元
_
:任意單個字元
select
*from employees where last_name like
'%a%'
;
select last_name,salary from employees where last_name like
'__n_l%'
;
select last_name from employees where last_name like
'_\_%'
;# 此時萬用字元_作為普通字元需要轉移,反斜槓\_
select last_name from employees where last_name like
'_$_%'
escape
'$';
# escape是為了說明$符號為轉移字元,在不用反斜槓的情況下
2.between and
優勢:①使用between and可以提高語句的簡潔度
②包含臨界值
③兩個臨界值不能調換順序
select
*from employees where employee_id>=
100and employee_id<=
120;
select
*from employees where employee_id between
100and
120;
#更簡潔
3.in
含義:判斷某字段的值是否屬於in列表中的某一項
特點:①使用in
比or
提高語句簡潔度
②in
列表中的值型別必須一致或相容。等價於=
select last_name,job_id from employees
where job_id =
'it_prot'
or job_id=
'ad_vp'
or job_id=
'ad_pres'
;select last_name,job_id from employees
where job_id in
('it_prot'
,'ad_vp'
,'ad_pres'
);
4.is null
特點:=
或<>
不能判斷null
值
is null
或is not null
可以判斷null
值
select last_name,commission_pct from employees
where commission_pct is
null
;
select last_name,commission_pct from employees
where commission_pct is
notnull
;
5.安全等於<=>
select last_name,commission_pct from employees
where commission_pct <=>
null
;
select last_name,commission_pct from employees where salary <=>
12000
;
is null
與<=>
的比較
is null
:
僅僅可以判斷null
值,但可讀性高,建議使用
<=>
:
既可以判斷null值,又可以判斷普通的數值,但可讀性低
select last_name,department_id,salary*12*
(1+ifnull(commission_pct,0)
)as 年薪 from employees;
select 查詢列表 from 表 [where 篩選條件] order by 排序列表 [asc|desc]
asc
代表公升序,desc
代表降序,預設是公升序asc
order by
可以放單個字段,多個字段,表示式,函式,別名
order by
字句一般放在查詢語句最後面,limit
字句除外
select
*from employees order
by salary desc
;select
*from employees order
by salary asc
;# 預設從低到高
select
*from employees
where department_id>=
90# 新增篩選條件
order
by hiredate asc
;# 再日期先後順序排序
select
*,salary*12*
(1+ifnull(commission_pct,0)
) 年薪
from employees
order
by salary*12*
(1+ifnull(commission_pct,0)
)desc
;# 按表示式排序
select
*,salary*12*
(1+ifnull(commission_pct,0)
) 年薪
from employees order
by 年薪 desc
;# 按別名排序
select length(
'last_name'
) 位元組長度,last_name,salary
from employees
order
by length(
'last_name'
)desc
;# 按函式length排序
select
*from employees
order
by salary asc
,employee_id desc
;# 多欄位排序
mysql 語句 條件查詢
高階2 條件查詢 語法 select 查詢列表 from 表名where 篩選條件 分類 一 按條件表示式篩選 簡單條件運算子 二 按邏輯表示式篩選 邏輯運算子 作用 用於連線條件表示式 and or not 和and 兩個條件都為true,結果為true,反之為false 或or 只要有乙個條件為...
mysql條件查詢語句
目錄 1 去重查詢distinct 2 使用and和or進行多條件查詢 2.1 and 2.2 or 3 區分大小寫查詢binary 4 查詢排序 4.1 公升序asc 預設為公升序 4.2 降序desc 5 命令幫助help distinct在表查詢時去除表中重複的資料。例如 select dis...
查詢之條件語句
select 欄位1,欄位2.from 表名 where 條件 例 select from students where id 1 比較運算子 例1 查詢小喬的年齡 select age from students where name 小喬 例2 查詢20歲以下的學生 select from st...