#高階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:查詢工資》12000的員工資訊
select
*from
employees
where
salary>12000;
#案例2:查詢部門編號不等於90號的員工名和部門編號
select
last_name,
department_id
from
employees
where
department_id<>90;
#二、按邏輯表示式篩選
#案例1:查詢工資z在10000到20000之間的員工名、工資以及獎金
select
last_name,
salary,
commission_pct
from
employees
where
salary>=10000 and salary<=20000;
#案例2:查詢部門編號不是在90到110之間,或者工資高於15000的員工資訊
select
*from
employees
where
not(department_id>=90 and department_id<=110) or salary>15000;
#三、模糊查詢
/*like
between and
inis null|is not null
*/#1.like
/*特點:
①一般和萬用字元搭配使用
萬用字元:
% 任意多個字元,包含0個字元
_ 任意單個字元
*、#案例1:查詢員工名中包含字元a的員工資訊
select
*from
employees
where
last_name like '%a%';#abc
#案例2:查詢員工名中第三個字元為e,第五個字元為a的員工名和工資
select
last_name,
salary
from
employees
where
last_name like '__n_l%';
#案例3:查詢員工名中第二個字元為_的員工名
select
last_name
from
employees
where
last_name like '_$_%' escape '$';
#2.between and
/*①使用between and 可以提高語句的簡潔度
②包含臨界值
③兩個臨界值不要調換順序
#案例1:查詢員工編號在100到120之間的員工資訊
select
*from
employees
where
employee_id >= 120 and employee_id<=100;
#----------------------
select
*from
employees
where
employee_id between 120 and 100;
#3.in
/*含義:判斷某字段的值是否屬於in列表中的某一項
特點:①使用in提高語句簡潔度
②in列表的值型別必須一致或相容
③in列表中不支援萬用字元
*/#案例:查詢員工的工種編號是 it_prog、ad_vp、ad_pres中的乙個員工名和工種編號
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值
*/#案例1:查詢沒有獎金的員工名和獎金率
select
last_name,
commission_pct
from
employees
where
commission_pct is null;
#案例1:查詢有獎金的員工名和獎金率
select
last_name,
commission_pct
from
employees
where
commission_pct is not null;
#----------以下為×
select
last_name,
commission_pct
from
employees
where
salary is 12000;
#安全等於 <=>
#案例1:查詢沒有獎金的員工名和獎金率
select
last_name,
commission_pct
from
employees
where
commission_pct <=>null;
#案例2:查詢工資為12000的員工資訊
select
last_name,
salary
from
employees
where
salary <=> 12000;
#is null pk <=>
is null:僅僅可以判斷null值,可讀性較高,建議使用
<=> :既可以判斷null值,又可以判斷普通的數值,可讀性較低
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...
mysql語句條件篩選 MySQL 條件查詢
語法 執行順序 312 select 查詢列表 from 表名where 篩選條件 分類 按條件表示式篩選 條件運算子 按邏輯表示式篩選 邏輯運算子 用於連線條件表示式 和and 兩個條件都為true,結果為true,反之為false 和or 只要有乙個條件為true,結果為true,反之為fals...
MySQL條件查詢語句基礎操作
select 欄位1,欄位2.from 表名 where 條件 例 select from students where id 1 比較運算子 例1 查詢小喬的年齡 select age from students where name 小喬 例2 查詢20歲以下的學生 select from st...