SQL語句學習5 資料過濾

2021-10-03 20:54:06 字數 1400 閱讀 7424

如果需要通過多個列過濾資料,那麼可使用and操作符給where子句附加條件

select 輸出列名1,輸出列名2……

from 表

where 過濾列名1,過濾列名2,……;

上述表示將vend_id=1001和prod_price=5.99作為資料過濾條件

補充:當每新增乙個過濾條件時,便增加乙個and

or操作符是匹配任意一條件,相比較and(and是匹配同時滿足所有過濾條件)

select 輸出列名1,輸出列名2……

from 表名

where 過濾列名1 or 過濾列名2 or 列名3……;

當組合and和or時,那麼就會產生先執行那個的順序問題。那麼mysql定義and的優先順序要比or的優先順序高,為了解決這種可能存在的未知的錯誤,最好的辦法是使用圓括號明確地分組相應的操作。

select 輸出列名1,輸出列名2……

from 表名

where (過濾列名1 or過濾列名2)and 過濾列名3;

圓括號在where子句中還有另外一種用法。in操作符用來指定條件範圍中的每個條件都可以進行匹配,in取值合法值的由逗號分隔的清單,這種用法與or相同

select 輸出列名1,輸出列名2…… from 表名 where 過濾列名 in (取值1,取值2……);

補充:雖然說in的用法和or的用法相同,但是相比較來說,in執行更快where子句中的not操作符有且只有乙個功能,那就是否定它之後的任何條件

select 輸出列名1,輸出列名2…… from 表名 where 過濾列名1 not 否定的條件;

上面sql語句表示的意思是:輸出vend_id不為1001,1003的所有滿足該條件的行

mysql支援使用not對in,between和exists子句取反

SQL(5) 高階資料過濾

select prod name,prod price from product where vend id dell01 and prod price 5000 select prod name,prod price from product where vend id del01 or vend...

Sql查詢語句過濾重複的資料

情況一 表中存在完全重複的的資料,即所有字段內容都是相同的 create table 使用者id int,姓名 varchar 10 年齡 int insert into select 111,張三 26union allselect 222,李四 25union allselect 333,王五 ...

Sql查詢語句過濾重複的資料

情況一 表中存在完全重複的的資料,即所有字段內容都是相同的 create table 使用者id int,姓名 varchar 10 年齡 int insert into select 111,張三 26union allselect 222,李四 25union allselect 333,王五 ...