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 方法 用於篩選出與指定表示式匹配的元素集合,用於縮小匹配的範圍...