#高階2:條件查詢
/*語法:
select
查詢列表
from
表名where
篩選條件
分類: 一,按條件表達篩選
條件運算子: >< = != <> >= <=
二,按邏輯表示式篩選
邏輯運算子:
&& || !
and or not
&&和and:兩個都為true,結果為true,反之為false
||和or: 如果有乙個為true,結果為 true,反之為flase
!或not:如果連線的條件本身為false,結果為true,反之為false
三,模糊查詢
like
between and
in is null
*/#一,按條件表示式篩選
#案例1:查詢工資》1200的員工資訊
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:查詢部門編號z不是在90到110,或者工資高於15000的員工資訊
select
*from
employees
where
not(department_id>=90 and department_id<=110) or salary>15000;
#三,模糊查詢
#1,like
/*特點:
1,一般和萬用字元搭配使用
萬用字元:
% 任意多個字元,包括0個字元
_任意單個字元
*/#案例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%';
#案例3:查詢員工名中第二個字元為——的員工名
select
last_name
from
employees
where
last_name like '_$_%' escape '$';
#2.between and
/*1,使用 between and 可以提高語句簡潔度
2,包含臨界值
3,兩個臨界不要調換順序
*/#案例1,查詢員工編號在100到120之間的員工資訊
select
*from
employees
where
employee_id>=100 and employee_id<=120;
#-----------------
select
*from
employees
where
employee_id between 100 and 120;
#3,in
/*含義:判斷某字段的值是否屬於in列表中的某一項
特點: 1,使用in提高語句簡潔度
2,in列表的值型別必須統一或相容
3,*/
#案例:查詢員工的工種編號是 it_ad_vp,ad_presh中的乙個員工名和工種編號
select
last_name,
job_id
from
employees
where
job_id = 'it_prot' or job_id = 'ad_vp' or job_id ='adpres';
#--------------------
select
last_name,
job_id
from
employees
where
job_id in('it_prot','ad_vp','adpres');
#4,is null
/*+或《不能》用於判斷null值
is null 或is not null 可以判斷null值
*/#案例1,查詢有沒有獎金的員工名和獎金率
select
last_name,
commission_pct
from
employees
where
commission_pct is null;
#------------
select
last_name,
commission_pct
from
employees
where
commission_pct is not null;
#安全等於 <=>
#案例1:查詢沒有獎金的員工名和獎金率
select
last_name,
commission_pct
from
employees
where
commission_pct <=>null;
#a案例2:查詢工資為12000
select
last_name,
salary
from
employees
where
salary <=>12000;
#is null pk <=>
/*is null :僅僅可以判斷null值,可讀性較高,建議使用
<=> :既可以判斷null值,又可以判斷普通的數值,可讀性較低*/
MySQL 36 內部臨時表
36.1 mysql中的兩種臨時表 通過create temporary table建立的臨時表,這種臨時表稱為外部臨時表。這種臨時表只對當前使用者可見,當前會話結束的時候,該臨時表會自動關閉。這種臨時表的命名與非臨時表可以同名。內部臨時表會被mysql自動建立並用來儲存某些操作的中間結果,通過ex...
mysql查詢條件 Mysql查詢條件的使用
mysql查詢條件的使用 方法 解釋 gt 大於 gte 大於等於 lt 小於 lte 小於等於 例如 article article.objects.filter id gt 5 startswith 以指定某個字串開始,大小寫敏感 istartswith 以指定某個字串開始,大小寫不敏感 end...
mysql條件查詢
語法 select 查詢列表 from 表名where 篩選條件 分類 一.按條件表示式篩選 條件運算子 不等於 二.按邏輯表示式篩選 邏輯運算子 and or not 三.模糊查詢 like between and in is null 四.排序查詢 語法 select 查詢列表 from 表 w...