国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > MySQL > 正文

在MySQL中使用子查詢和標(biāo)量子查詢的基本操作教程

2024-07-24 13:08:16
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
這篇文章主要介紹了在MySQL中使用子查詢和標(biāo)量子查詢的基本操作教程,子查詢的使用時(shí)MySQL入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
 

MySQL 子查詢
子查詢是將一個(gè) SELECT 語(yǔ)句的查詢結(jié)果作為中間結(jié)果,供另一個(gè) SQL 語(yǔ)句調(diào)用。MySQL 支持 SQL 標(biāo)準(zhǔn)要求的所有子查詢格式和操作,也擴(kuò)展了特有的幾種特性。
子查詢沒(méi)有固定的語(yǔ)法,一個(gè)子查詢的例子如下:

SELECT * FROM article WHERE uid IN(SELECT uid FROM user WHERE status=1)

對(duì)應(yīng)的兩個(gè)數(shù)據(jù)表如下:
article 文章表:

在MySQL中使用子查詢和標(biāo)量子查詢的基本操作教程

user 用戶表:

在MySQL中使用子查詢和標(biāo)量子查詢的基本操作教程

查詢返回結(jié)果如下所示:

在MySQL中使用子查詢和標(biāo)量子查詢的基本操作教程

在該例子中,首先通過(guò)子查詢語(yǔ)句查詢出所有 status=1 的 uid,實(shí)際的查詢類似于:

SELECT * FROM article WHERE uid IN(1,2)

MySQL 標(biāo)量子查詢
標(biāo)量子查詢是指子查詢返回的是單一值的標(biāo)量,如一個(gè)數(shù)字或一個(gè)字符串,也是子查詢中最簡(jiǎn)單的返回形式。
一個(gè)標(biāo)量子查詢的例子如下:

SELECT * FROM article WHERE uid = (SELECT uid FROM user WHERE status=1 ORDER BY uid DESC LIMIT 1)

在該例子中,子查詢語(yǔ)句:

SELECT uid FROM user WHERE status = 1 ORDER BY uid DESC LIMIT 1

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

SELECT * FROM article WHERE uid = 2

使用子查詢進(jìn)行比較
可以使用 = > < >= <= <> 這些操作符對(duì)子查詢的標(biāo)量結(jié)果進(jìn)行比較,通常子查詢的位置在比較式的右側(cè):

SELECT * FROM t1 WHERE column1 = (SELECT MAX(column2) FROM t2)

提示
對(duì)于采用這些操作符之一進(jìn)行的比較,子查詢必須返回一個(gè)標(biāo)量。唯一的例外是 = 可以和行子查詢同時(shí)使用。
子查詢與表連接
在很多情況下,子查詢的效果與 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)

該例子要找出用戶發(fā)表了 2 篇文章的所有文章記錄。對(duì)應(yīng)的兩個(gè)數(shù)據(jù)表如下:
article 文章表:

在MySQL中使用子查詢和標(biāo)量子查詢的基本操作教程

user 用戶表:

在MySQL中使用子查詢和標(biāo)量子查詢的基本操作教程

查詢返回結(jié)果如下所示:

在MySQL中使用子查詢和標(biāo)量子查詢的基本操作教程



注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到MYSQL教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 铜陵市| 泾阳县| 镇雄县| 武乡县| 马山县| 霞浦县| 五峰| 贵阳市| 大英县| 克东县| 敖汉旗| 资溪县| 中宁县| 南和县| 渝中区| 尉犁县| 新绛县| 贵阳市| 澄城县| 常熟市| 宁武县| 安康市| 桐庐县| 五常市| 岗巴县| 毕节市| 武定县| 独山县| 靖宇县| 永吉县| 盐源县| 梅河口市| 定远县| 且末县| 天全县| 门源| 博兴县| 稻城县| 丰城市| 凤冈县| 兰州市|