mysql的select語句中in的用法是什么

mysql中,select語句內in常用于where表達式中,其作用是查詢某個范圍內的數據,in查詢的范圍數據并不一定是明確的,可能會包含子查詢語句,語法為“select * from where…in(范圍數據或者子查詢語句)”。

mysql的select語句中in的用法是什么

本教程操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。

mysql的select語句中in的用法是什么

一、基礎用法

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數據表,內容如下:

mysql的select語句中in的用法是什么

查詢語句和查詢結果見如下圖示:

mysql的select語句中in的用法是什么

推薦學習:mysql視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊15 分享