SQL基本操作之過濾資料

2021-09-19 16:37:45 字數 1944 閱讀 5256

sql基本操作之過濾資料

where子句操作符

我們一般不會想獲得所有行的列值,而是選取我們所需要的

sql提供了where子句實現過濾資料的功能

如在customers表中提取使用者名為fun4all的列(單引號代表字串):

select * from customers where cust_name = 'fun4all';

where子句操作符見下表:

操作符說明=等於

<>

不等於!=

不等於<

小於<=

小於等於

!<

不小於》

大於》=

大於等於

!>

不大於between and

在指定的兩個值之間

is null

為null值

注意:不同的dbms的操作符可能有差異,詳見官方文件。

幾個栗子:

檢查單個值:select * from customers where cust_id > 1000000003;不匹配檢查:select * from customers where cust_id != 1000000003;

範圍值檢查:select * from customers where cust_id between 1000000001 and 1000000004;

注意:

1.進行不匹配檢查時,null也不會出現在不匹配的列中,因為未知具有特殊的含義,資料庫不知道他們是否匹配。

2.同時使用where子句和order by子句時,order by子句應在where子句之後

高階資料過濾

and操作符

即邏輯關係「且」。

栗子:選出使用者表中使用者名稱不為1000000000,1000000003,10000000004的列值:

select

*from customers

where cust_id !=

1000000003

and cust_id !=

1000000000

and cust_id !=

1000000004

;

or操作符

即邏輯關係「非」

栗子:使用者id大於1000000004或小於1000000002的所有列值

select * from customers where cust_id < 1000000002 or cust_id > 1000000004;
注意:sql中and操作符的優先順序高於or操作符,但可以通過括號修改(使用這些操作符時應盡量使用括號以消除歧義)

in操作符

用於指定條件範圍,功能與or相當

栗子:選取居住在曼西或者芝加哥的使用者 儲存為草稿

select * from customers where cust_city in ('muncie', 'chicago');
in操作符與or操作符的區別:

更清楚直觀

容易管理

更快可以包含其他select子句

not操作符

即邏輯關係中的、「非」。

栗子:選取不居住在芝加哥的使用者:

select * from customers where not cust_city = 'chicago';
在複雜的子句中,not操作符非常有用。

注意:mariadb僅支援使用not否定in、between、exists子句,大多數dbms支援使用not否定任何條件

參考:《sql必知必會》

SQL之過濾資料 where子句

select prod id,prod price from products where prod price 3.49 檢索products表中兩個列,只返回prod price值等於3.49的行。注意 由於資料庫軟體的指定。結果可能是3.490,3.4900。注意 並非所有資料庫軟體都支援所有...

MySQL之過濾資料

1 使用where字句 資料根據where子句指定的搜尋條件進行過濾。select prod name,prod price from products where product price 2.50 where子句的位置 在同時使用order by 和where子句時,應該 order by位於...

jQuery之過濾元素操作

1 eq index 方法 用於獲取第n個元素,這個元素的位置從0開始算起,語法格式如下 eq index 獲取第3個 並將它的背景色設定為 fcf 如下 td eq 2 css background fcf 2 filter expr 方法 用於篩選出與指定表示式匹配的元素集合,用於縮小匹配的範圍...