MySQL基礎第二彈

#進階2:條件查詢
/*io

語法:
select
查詢列表
from
表名
where
篩選條件;ast


分類:
1、按條件表達式篩選
簡單條件運算符:> < = <> #(<>這個是不等於的意思) >= <=
2、按邏輯表達式篩選
邏輯運算符:
做用:用於鏈接條件表達式
&& || !
and or not
&&和and:兩個條件都爲true,結果爲true,反之爲false
!|或or:只要有一個條件爲true,結果爲true,反之爲false
!或not:若是鏈接的條件自己爲false,結果爲true,反之爲false
3、模糊查詢
like
between and
in
is null
*/select


#1、按條件表達式篩選
#案例1:查詢工資>12000的員工信息
SELECT
*
FROM
employees
WHERE
salary>12000;
#案例2:查詢部門編號不等於90號的員工名和部門編號
SELECT
last_name,
department_id
FROM
employees
WHERE
department_id<>90;



#2、按邏輯表達式篩選
#案例1:查詢工資在10000到20000之間的員工名、工資以及獎金
SELECT
last_name,
salary,
commission_pct
FROM
employees
WHERE
salary>=10000 AND salary<=20000;


#3、模糊查詢
/*
like
特色:
①通常和通配符搭配使用
通配符:
%任意多個字符,包括0個字符
_任意單個字符
between and
in
is null | is 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 '__n_l%';


#案例3:查詢員工名中第二個字符爲_的員工名
SELECT
last_name
FROM
employees
WHERE
last_name LIKE '_\_%'; #\是轉意符

#2.between and查詢

/*
①使用between and 能夠提升語句的簡潔度
②包含臨界值
③兩個臨界值不要調換順序
*/兼容

 

#案例1:查詢員工編號在100到120之間的員工信息
SELECT
*
FROM
employees
WHERE
employee_id>=100 AND employee_id<=120;
co


SELECT
*
FROM
employees
WHERE
employee_id BETWEEN 100 AND 120;字符





#3.in運算符

/*
含義:判斷某字段的值是否屬於in列表中的某一項
特色:
①使用in提升語句簡潔度
②in列表的值類型必須統一兼容

*/

#案例:查詢員工的工種名編號是 IT_PROC、AD_VP、AD_PRES中的一個員工名和工種編號
SELECT
last_name,
job_id
FROM
employees
WHERE
job_id='IT_PROC' OR job_id='AD_VP' OR job_id='AD_PRES';


SELECT
last_name,
job_id
FROM
employees
WHERE
job_id IN ('IT_PROC' , 'AD_VP' , 'AD_PRES');


#4.is null


#案例1:查詢沒有獎金的員工名和獎金率
SELECT
last_name,
commission_pct
FROM
employees
WHERE
commission_pct IS NULL; #反正查is not null

#查詢沒有獎金,且工資小於18000的salary,last_name

SELECT
last_name,
salary,
commission_pct
FROM
employees
WHERE
salary < 18000 AND commission_pct IS NULL;

 

 

SELECT *FROM employeesWHERE job_id<>'IT' OR salary=12000;

相關文章
相關標籤/搜索