#高階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 三 模糊查詢...