MySQL資料庫筆記(五) 資料過濾

2021-10-01 10:53:21 字數 3868 閱讀 9796

使用select語句的where子句指定過濾條件。通常情況下,我們查詢資料會根據特定條件和情況提取表中的部分資料。並不會查詢表中所有的資料。

語法格式:where子句放在from子句後面出現。

where子句操作符

操作符說明=等於

<>

不等於!=

不等於<

小於<=

小於等於

>

大於》=

大於等於

between指定在2個值之間

過濾單個值

#=: 查詢員工名為ngao的員工資訊

select

a.id,

a.last_name,

a.first_name,

a.salary

from

s_emp a

where

a.last_name = 'ngao';

#<>: 查詢不屬於41部門的員工資訊

select

a.id,

a.last_name,

a.first_name,

a.salary,

a.dept_id

from

s_emp a

where

a.dept_id <> 42;

#!=:查詢不屬於41部門的員工資訊

select

a.id,

a.last_name,

a.first_name,

a.salary,

a.dept_id

from

s_emp a

where

a.dept_id != 42;

#<: 查詢工資大於1500的員工資訊

select

a.id,

a.last_name,

a.first_name,

a.salary,

a.dept_id

from

s_emp a

where

a.salary >1500;

#between and : 查詢工資在 1100到1400之間的員工資訊

select

a.id,

a.last_name,

a.first_name,

a.salary,

a.dept_id

from

s_emp a

where

a.salary between 1100 and 1400;

空值過濾

概念:在乙個列不包含值時,稱為空值null。null 無值,與字段包含0 ,空字串或者空格不同。

#查詢員工工資為空的員工資訊

select

a.id,

a.last_name,

a.salary

from

s_emp a

where

a.salary is null;

#查詢員工的經理不為空的員工資訊

select

a.id,

a.last_name,

a.manager_id

from

s_emp a

where

a.manager_id is not null;

邏輯操作符

and 操作符:

#檢視員工部門id為41且職位名稱為stock clerk(存庫管理員)的員工id和名字

select

id,last_name,

dept_id,

title

from

s_emp

where

dept_id = 41

and title = 'stock clerk';

or 操作符
#檢視員工部門為41 或者 44號部門員工id、名字和部門號

select

a.id,

a.last_name,

a.dept_id

from

s_emp a

where

a.dept_id = 41

or a.dept_id = 42;

and 和 or 組合:
#檢視員工部門為41 或者 44號部門 且工資大於1000的員工id和名字

select

a.id,

a.last_name,

a.dept_id,

a.salary,

a.title

from

s_emp a

where

a.salary > 1000

and (a.dept_id = 41 or a.dept_id = 44);

#練習:檢視員工部門為41且工資大於1000 或者 44號部門的員工id和名字

select

a.id,

a.last_name,

a.dept_id,

a.salary,

a.title

from

s_emp a

where

a.salary > 1000

and a.dept_id = 41 or a.dept_id = 44;

in 操作符
#檢視員工號1,3,5,7,9員工的工資

select

a.id,

a.last_name

from

s_emp a

where

a.id in (1, 3, 5, 7, 9);

not 操作符
#查詢員工工資不在1000到1500範圍的員工資訊

select

a.id,

a.last_name,

a.salary

from

s_emp a

where

a.salary not between 1000 and 1500;

#查詢員工不在41或42或43部門的員工資訊

select

a.id,

a.last_name,

a.dept_id

from

s_emp a

where

a.dept_id not in (41, 42, 43);

like 操作符
#檢視員工名字以n或n字母開頭的員工的資訊

#注:mysql 預設查詢時,不區分大小寫。可以通過在建立表時,新增 binary屬性進行區分。

#或者在where子句中新增 binary關鍵字 格式: where binary ...

select

a.id,

a.last_name

from

s_emp a

where

a.last_name like 'n%';

#檢視員工名字以大寫n字母結尾的員工的資訊

select

a.id,

a.last_name

from

s_emp a

where binary

a.last_name like '%n';

#檢視員工名字第三個字母是a員工的資訊

select

a.id,

a.last_name

from

s_emp a

where binary

a.last_name like '__a%';

MySQL資料庫 過濾資料

資料庫一般包含大量的資料,但是我們大部分情況下並不需要檢索所有的資料,只要檢索部分資料就行了。1.使用where 子句 在select子句中,資料根據where子句中指定的搜尋條件進行過濾。where子句在表名 from子句 之後給出,如下所示 select users.user name,user...

MySQL資料庫 過濾資料(一)

資料庫一般包含大量的資料,但是我們大部分情況下並不需要檢索所有的資料,只要檢索部分資料就行了。只檢索所需要資料需要指定搜尋條件,搜尋條件也稱為過濾條件。part 1 使用where 子句 在select子句中,資料根據where子句中指定的搜尋條件進行過濾。where子句在表名 from子句 之後給...

MySQL資料庫 萬用字元過濾

萬用字元 wildcard 用來匹配值的一部分的特殊字元。搜尋模式 search pattern 由字面值 萬用字元或兩者組合構成的搜尋條件。最常使用的萬用字元是百分號 在搜尋串中,表示任何字元出現任意次數。例如,為了找出所有以詞dll起頭的產品名,可使用以下select語句 萬用字元可在搜尋模式中...