在mysql中,select語句內in常用於where表示式中,其作用是查詢某個範圍內的資料,in查詢的範圍資料並不一定是明確的,可能會包含子查詢語句,語法為「select * from where...in(範圍資料或者子查詢語句)」。
本教程操作環境:windows10系統、mysql8.0.22版本、dell g3電腦。
一、基礎用法
mysql中in常用於where表示式中,其作用是查詢某個範圍內的資料。
select * from where field in (value1,value2,value3,…)當 in 前面加上 not 運算子時,表示與 in 相反的意思,即不在這些列表項內選擇
select * from where field not in (value1,value2,value3,…)二、in 子查詢
更多情況下,in 列表項的值是不明確的,而可能是通過乙個子查詢得到的:
select * from article where uid in(select uid from user where status=0)在這個 sql 例子裡,我們實現了查出所有狀態為 0 的使用者(可能是被禁止)的所有文章。首先通過乙個查詢得到所有所有 status=0 的使用者:
select uid from user where status=0然後將查詢結果作為 in 的列表項以實現最終的查詢結果,注意在子查詢中返回的結果必須是乙個字段列表項。
示例:查詢book表中id為2和4的所有資料:
有book資料表,內容如下:
查詢語句和查詢結果見如下圖示:
select語句中更改查詢結果 case when
有時資料庫中為了儲存空間的節約,存了一些比較小的字段,這是可以在select語句中進行轉換。在 select 語句中用條件語句 如果,資料庫中乙個字段 gender 來儲存性別,存的是 1 0兩個值,這時可以用 select case when gender 1 then man else woma...
SQL語句中 select 字段 as是什麼意思
as 可理解為 用作 當成,作為 一般是重新命名列名或者表名。1.例如有表table,列 column 1,column 2 你可以寫成 select column 1 as 列1,column 2 as 列2 from table as 表 上面的語句就可以解釋為,選擇 column 1 作為 列...
mysql語句中用if的例子
引用 http zxlm.cityk.cn fh viewthread.php?tid 1395 select if sva 1,男 女 as ssva from taname where sva 12.2.控制流程函式 case value when compare value then resu...