mysql標量子查閱 MySQL 標量子查詢

2021-10-18 11:38:25 字數 1300 閱讀 6211

mysql 標量子查詢

標量子查詢是指子查詢返回的是單一值的標量,如乙個數字或乙個字串,也是子查詢中最簡單的返回形式。

乙個標量子查詢的例子如下:

select * from article where uid = (select uid from user where status=1 order by uid desc limit 1)

在該例子中,子查詢語句:

select uid from user where status = 1 order by uid desc limit 1

返回的是單一的數字(如 2),實際的查詢語句為:

select * from article where uid = 2

使用子查詢進行比較

可以使用 = > < >= <= <> 這些操作符對子查詢的標量結果進行比較,通常子查詢的位置在比較式的右側:

select * from t1 where column1 = (select max(column2) from t2)

提示對於採用這些操作符之一進行的比較,子查詢必須返回乙個標量。唯一的例外是 = 可以和行子查詢同時使用。

子查詢與表連線

在很多情況下,子查詢的效果與 join 表連線很類似,但一些特殊情況下,是必須用子查詢而不能用表連線的,如:

select * from t1 where column1 = (select max(column2) from t2)

以及下例:

select * from article as t where 2 = (select count(*) from article where article.uid = t.uid)

article 文章表:

aidtitle

content

uid文章1

文章1正文內容...

文章2文章2正文內容...

文章3文章3正文內容...

文章4文章4正文內容...

user 使用者表:

uidusername

password

status

admin

b7e591c246d010bb2ccd77d52490c85e

小明a193686a53e4de85ee3f2ff0576adf01

jack

0193686a35e4de85ee3f2ff0567adf490

查詢返回結果如下所示:

aidtitle

content

uid文章1

文章1正文內容...

文章2文章2正文內容...

MySQL中的標量子查詢,列子查詢,行子查詢

標量子查詢,列子查詢,行子查詢都屬於where子查詢,也就是說都寫在where之後 標量子查詢 概念 子查詢得到的結果是乙個資料 一行一列 語法 select from 資料來源 where 條件判斷 select 欄位名 from 資料來源 where 條件判斷 查詢到的結果就只有乙個結果 案例 ...

在MySQL中使用子查詢和標量子查詢的基本用法

一 mysql 子查詢 子查詢是將乙個 select 語句的查詢結果作為中間結果,供另乙個 sql 語句呼叫。mysql 支援 sql 標準要求的所有子查詢格式和操作,也擴充套件了特有的幾種特性。子查詢沒有固定的語法,乙個子查詢的例子如下 select from article where uid ...

用分析函式優化標量子查詢

原語句如下 select ii.case when select count 1 from ii where ii.id 0 and ii.flag 2 and ii.i code ii.i code and ii.c id not in select c id from c where ig na...