MySQL查詢語句之條件查詢和排序查詢(二)

2021-09-18 02:35:31 字數 4337 閱讀 5127

排序查詢

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列表中的某一項

特點:①使用inor提高語句簡潔度

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 nullis 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...