/*
語(yǔ)法:
select
查詢列表
from
表名
where
篩選條件;
分類:
一、按條件表達(dá)式篩選
簡(jiǎn)單條件運(yùn)算符:> < = != <> >= <=
二荠割、按邏輯表達(dá)式篩選
邏輯運(yùn)算符:
作用:用于連接條件表達(dá)式
&& || !
and or not
&&和and:兩個(gè)條件都為true,結(jié)果為true,反之為false
||或or: 只要有一個(gè)條件為true,結(jié)果為true马昙,反之為false
!或not: 如果連接的條件本身為false,結(jié)果為true刹悴,反之為false
三行楞、模糊查詢
like
between and
in
is null
is not null
*/
一、按條件表達(dá)式篩選
案例1:查詢工資>12000的員工信息
SELECT
*
FROM
employees
WHERE
salary>12000;
案例2:查詢部門(mén)編號(hào)不等于90號(hào)的員工名和部門(mén)編號(hào)
SELECT
last_name,
department_id
FROM
employees
WHERE
department_id<>90;
二土匀、按邏輯表達(dá)式篩選
案例1:查詢工資z在10000到20000之間的員工名子房、工資以及獎(jiǎng)金
SELECT
last_name,
salary,
commission_pct
FROM
employees
WHERE
salary>=10000 AND salary<=20000;
案例2:查詢部門(mén)編號(hào)不是在90到110之間,或者工資高于15000的員工信息
SELECT
*
FROM
employees
WHERE
NOT(department_id>=90 AND department_id<=110) OR salary>15000;
三就轧、模糊查詢
/*
like
between and
in
is null
is not null
*/
1.like
/*
特點(diǎn):
①一般和通配符搭配使用
通配符:
% 任意多個(gè)字符,包含0個(gè)字符
_ 任意單個(gè)字符
*/
案例1:查詢員工名中包含字符a的員工信息
select
*
from
employees
where
last_name like '%a%';#abc
案例2:查詢員工名中第三個(gè)字符為e证杭,第五個(gè)字符為a的員工名和工資
select
last_name,
salary
FROM
employees
WHERE
last_name LIKE '__n_l%';
案例3:查詢員工名中第二個(gè)字符為_(kāi)的員工名
SELECT
last_name
FROM
employees
WHERE
last_name LIKE '_$_%' ESCAPE '$';
2.between and
/*
①使用between and 可以提高語(yǔ)句的簡(jiǎn)潔度
②包含臨界值
③兩個(gè)臨界值不要調(diào)換順序
*/
案例1:查詢員工編號(hào)在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列表中的某一項(xiàng)
特點(diǎn):
①使用in提高語(yǔ)句簡(jiǎn)潔度
②in列表的值類型必須一致或兼容
③in列表中不支持通配符
*/
案例:查詢員工的工種編號(hào)是 IT_PROG、AD_VP妒御、AD_PRES中的一個(gè)員工名和工種編號(hào)
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:查詢沒(méi)有獎(jiǎng)金的員工名和獎(jiǎng)金率
SELECT
last_name,
commission_pct
FROM
employees
WHERE
commission_pct IS NULL;
案例1:查詢有獎(jiǎng)金的員工名和獎(jiǎng)金率
SELECT
last_name,
commission_pct
FROM
employees
WHERE
commission_pct IS NOT NULL;
安全等于 <=>
案例1:查詢沒(méi)有獎(jiǎng)金的員工名和獎(jiǎng)金率
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值送讲,又可以判斷普通的數(shù)值奸笤,可讀性較低