MySql之條件查詢

2021-10-08 03:33:48 字數 3911 閱讀 9371

#高階2:條件查詢

/*語法:

select

查詢列表(第三步執行)

from

表名(第一步執行)

where

篩選條件;(第二步執行)

分類:

一、按條件表示式篩選

簡單條件運算子:> < = != <> >= <=

二、按邏輯表示式篩選

邏輯運算子:

&& || !

and or not

三、模糊查詢

like

between and

inis null

*/

**實現

#高階2:條件查詢

/*語法:

select

查詢列表(第三步執行)

from

表名(第一步執行)

where

篩選條件;(第二步執行)

分類: 一、按條件表示式篩選

簡單條件運算子:> < = != <> >= <=

二、按邏輯表示式篩選

邏輯運算子:

&& || !

and or not

&&和and:兩個條件都為true,結果為true,反之為false

||或or:只要有乙個條件為true,結果為true,反之為false

!或not: 如果連線的條件本身為false,結果為true,反之為false

三、模糊查詢

like

between and

inis null

*/#一、按條件表示式篩選

#案例1: 查詢工資》10000的員工資訊

select

*from employees where salary>

20000

;#案例2:查詢部門編號不等於90號的員工名和部門編號

select last_name,department_id

from employees where department_id<>90;

#<>相當於!=

#二、邏輯表示式篩選

#案例1:查詢工資:在10000到20000之間的員工名、工資以及獎金

select last_name,salary,commission_pct from employees where salary

between

10000

and20000

;select last_name,salary,commission_pct from employees

where salary>=

10000

and salary<=

20000

;#案例2:查詢部門編號不是在90-110之間,或者工資高於150的員工資訊

select

*from employees where department_id>

110or department_id<

90or salary>=

15000

;select

*from employees

where

not( department_id>=

90and department_id<=

110)

or salary>=

15000

;#三、模糊查詢

/*like

特點:1.一般和萬用字元搭配使用

萬用字元:% 任意多個字元,包含0個字元

_任意單個字元

between and

inis null not null

*/#1.like

#案例1:查詢員工名中包含字元a的員工資訊

select

*from employees where last_name like

'%a%'

;#案例2:查詢員工名中第三個字元為e,第五個字元為a的員工名和工資

select last_name,salary from employees

where last_name like

'__e_a%'

;select last_name,salary from employees

where last_name like

'__n_l%'

;#案例3:查詢員工名中第二個字元為_的員工名

select last_name from employees where last_name

like

'_\_%'

;#通過使用轉義字元 $也可以

select last_name from employees where last_name

like

'_a_%'

escape

'a';``

`sql

#2.between and

/*注意事項:

1.使用between and 可以提高語句的簡潔度

2.包含臨界值

3.兩個臨界值不要顛倒位置,兩個值的型別必須一致

*/#案例1:查詢員工編號在100到120之間的員工資訊

select

*from employees where

employee_id between

100and

120;

#3.in關鍵字

#涵義:判斷某字段的值是否屬於in列表中的某一項

#特點:1.使用in提高語句簡潔度;2.in後連線的括號內值必須統一或相容

#案例:查詢員工的工種編號是it_prog、ad_vp、ad_pres中的乙個員工名和工種編號

select job_id ,last_name from employees

where job_id in

('it_prog'

,'ad_vp'

,'ad_pres');

#4.is null

/* =或者<>不能用於判斷null值

is null 或者is not null可以判斷nul值

*/#案例1:查詢沒有獎金的員工名和獎金率

select last_name,commission_pct from employees

where salary=

null

;#出不來結果,因為該種寫法不對

select last_name,commission_pct from employees

where commission_pct is

null

;

#安全等於 <=>

select last_name,commission_pct

from employees

where commission_pct <=>

null

;#案例2:查詢員工工資為12000的員工資訊

select

*from employees

where salary <=>

12000

;#is null pk <=>

isnull :僅僅可以判斷null值 可讀性高

<=> :既可以判斷null值,又可以判斷普通的數值 可讀性低

#2:查詢員工號為176的員工的姓名和部門號和年薪

select last_name,

department_id,

salary*12*

(1+ifnull(commission_pct,0)

)as 年薪

from employees;

mysql之查詢條件

1 對於數字型別 status int select from student where status 23x11o66請求 如果資料庫存的是 數字型別。查詢賦值時,如果是乙個字串。例如 status 23x11o66請求 則mysql會自動從左往右擷取,直到不滿足數字型別。則把之前滿足的資料作為...

MySQL之where條件查詢

單錶查詢是mysql查詢中的一種常見的查詢方式,而where語句塊則在單錶查詢語句中起到指定查詢過濾條件的功能。語法為 select 字段列表 表示式 from table name where 條件 order by 字段列表 說明 相當於按照表中字段順序羅列表中的所有字段 字段列表 當查詢結果只...

mysql之條件查詢06

對於比較簡單的語句,這裡不再列出結果,大家可以自行測試結果。高階2 條件查詢 語法 select 查詢列表 from 表名where 篩選條件 分類 一 按條件表示式篩選 簡單條件運算子 同 一樣 二 按邏輯表示式篩選 邏輯運算子 作用 用於連線條件表示式 即 或者and or not 三 模糊查詢...