最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL嵌套查詢(xún)實(shí)例詳解

 更新時(shí)間:2015年12月23日 15:26:02   作者:cnzz  
這篇文章主要介紹了MySQL嵌套查詢(xún)的使用技巧,結(jié)合實(shí)例形式較為詳細(xì)的分析了MySQL嵌套查詢(xún)參數(shù)設(shè)置、使用方法與注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例分析了MySQL嵌套查詢(xún)。分享給大家供大家參考,具體如下:

MySQl從4.11版后已經(jīng)完全支持嵌套查詢(xún)了,那么下面舉些簡(jiǎn)單的嵌套查詢(xún)的例子吧(源程序來(lái)自MySQL User Manual):

1. SELECT語(yǔ)句的子查詢(xún)

語(yǔ)法:

復(fù)制代碼 代碼如下:
SELECT ... FROM (subquery) AS name ...

先創(chuàng)建一個(gè)表:

CREATE TABLE t1 (s1 INT, s2 CHAR(5), s3 FLOAT);
INSERT INTO t1 VALUES (1,'1',1.0);
INSERT INTO t1 VALUES (2,'2',2.0);

我們就可以進(jìn)行以下的嵌套查詢(xún)了:

SELECT sb1,sb2,sb3
FROM (SELECT s1 AS sb1, s2 AS sb2, s3*2 AS sb3 FROM t1) AS sb
WHERE sb1 > 1;

結(jié)果是: 2, '2', 4.0.

我們知道下面語(yǔ)句是不會(huì)得到正確結(jié)果的,因?yàn)閷?duì)經(jīng)過(guò)Group by排序的集合進(jìn)行求均值是不能得到正確答案的:

復(fù)制代碼 代碼如下:
SELECT AVG(SUM(column1)) FROM t1 GROUP BY column1

所以我們可以通過(guò)下面的嵌套查詢(xún)實(shí)現(xiàn)同樣的效果:

SELECT AVG(sum_column1)
FROM (SELECT SUM(column1) AS sum_column1
FROM t1 GROUP BY column1) AS t1;

2.行的子查詢(xún)(Row Subquery)

看下面的例子:

復(fù)制代碼 代碼如下:
SELECT * FROM t1 WHERE ROW(1,2) = (SELECT column1, column2 FROM t2);

這個(gè)查詢(xún)是返回column1等于column2的結(jié)果行。Row函數(shù)中的1和2相當(dāng)于構(gòu)造參數(shù)。想必Blogjava上的同志對(duì)這些應(yīng)該比較清楚,也不去詳細(xì)介紹了。

3.使用Exist和Not Exist參數(shù)

這里的Exist和Not Exist用途及用法和在其他沒(méi)有什么大的區(qū)別,我就簡(jiǎn)單舉幾個(gè)范例好了:

范例一:

SELECT DISTINCT store_type FROM Stores
WHERE EXISTS (SELECT * FROM Cities_Stores
WHERE Cities_Stores.store_type = Stores.store_type);

范例二:

SELECT DISTINCT store_type FROM Stores
WHERE NOT EXISTS (SELECT * FROM Cities_Stores
WHERE Cities_Stores.store_type = Stores.store_type);

范例三:  這個(gè)例子中嵌套使用了Not Exist語(yǔ)法,稍微注意一下:

SELECT DISTINCT store_type FROM Stores S1
WHERE NOT EXISTS (
SELECT * FROM Cities WHERE NOT EXISTS (
SELECT * FROM Cities_Stores
WHERE Cities_Stores.city = Cities.city
AND Cities_Stores.store_type = Stores.store_type));

4.條件關(guān)聯(lián)關(guān)系查詢(xún)

SELECT column1 FROM t1 AS x
WHERE x.column1 = (SELECT column1 FROM t2 AS x
WHERE x.column1 = (SELECT column1 FROM t3
WHERE x.column2 = t3.column1));

跟其他數(shù)據(jù)庫(kù)做法是一樣的。

5.其他使用方法和注意

除了上面這些還有很多很多,不過(guò)就不去細(xì)講了,因?yàn)檫@些跟別的數(shù)據(jù)庫(kù)差不多,只是為了給大家一個(gè)參考,提提就夠了。

SELECT (SELECT s1 FROM t2) FROM t1;
SELECT (SELECT s2 FROM t1);

支持子查詢(xún)的語(yǔ)法有:SELECT,INSERT,UPDATE,DELETE,SET和DO。

子查詢(xún)可以使用任何普通查詢(xún)中使用的關(guān)鍵詞:如DINSTINCT,GROUP BY,LIMIT,ORDER BY,UNION,ALL,UNION ALL等??梢允褂?lt;,>, <=, >=, =, <>運(yùn)算符進(jìn)行比較,也可以使用ANY ,IN和SOME進(jìn)行集合的匹配。

希望本文所述對(duì)大家MySQL數(shù)據(jù)庫(kù)程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • mysql查詢(xún)語(yǔ)句中用戶(hù)變量的使用代碼解析

    mysql查詢(xún)語(yǔ)句中用戶(hù)變量的使用代碼解析

    這篇文章主要介紹了mysql查詢(xún)語(yǔ)句中用戶(hù)變量的使用代碼解析,涉及部分代碼優(yōu)化的內(nèi)容,通過(guò)示例向大家解析用戶(hù)變量的相關(guān)問(wèn)題,需要的朋友可以參考下。
    2017-10-10
  • MySQL對(duì)小數(shù)進(jìn)行四舍五入的操作實(shí)現(xiàn)

    MySQL對(duì)小數(shù)進(jìn)行四舍五入的操作實(shí)現(xiàn)

    數(shù)學(xué)函數(shù)是MySQL中常用的一類(lèi)函數(shù),其主要用于處理數(shù)字,包括整型和浮點(diǎn)數(shù)等等,本文主要介紹了MySQL對(duì)小數(shù)進(jìn)行四舍五入的操作實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • Mysql的數(shù)據(jù)庫(kù)遷移到另一個(gè)機(jī)器上的方法詳解

    Mysql的數(shù)據(jù)庫(kù)遷移到另一個(gè)機(jī)器上的方法詳解

    今天小編就為大家分享一篇關(guān)于Mysql的數(shù)據(jù)庫(kù)遷移到另一個(gè)機(jī)器上的方法詳解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-04-04
  • CentOS7下二進(jìn)制安裝mysql 5.7.23

    CentOS7下二進(jìn)制安裝mysql 5.7.23

    這篇文章主要為大家詳細(xì)介紹了CentOS7下二進(jìn)制安裝mysql 5.7.23,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • 使用MySQL實(shí)現(xiàn)select?into臨時(shí)表的功能

    使用MySQL實(shí)現(xiàn)select?into臨時(shí)表的功能

    這篇文章主要介紹了使用MySQL實(shí)現(xiàn)select?into臨時(shí)表的功能,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • MySQL InnoDB之事務(wù)與鎖詳解

    MySQL InnoDB之事務(wù)與鎖詳解

    MySQL InnoDB之事務(wù)與鎖詳解,需要使用事務(wù)的朋友可以參考下
    2012-04-04
  • MySQL自增id用完的解決方案

    MySQL自增id用完的解決方案

    MySQL 的自增 ID(Auto Increment ID)是數(shù)據(jù)庫(kù)表中最常用的主鍵類(lèi)型之一,然而,在一些特定的場(chǎng)景下,自增 ID 可能會(huì)達(dá)到其最大值,可能會(huì)遇到 ID 用盡的問(wèn)題,所以本文介紹了MySQL自增id用完的解決方案,需要的朋友可以參考下
    2024-12-12
  • MySQL8.0中的窗口函數(shù)的示例代碼

    MySQL8.0中的窗口函數(shù)的示例代碼

    本文主要介紹了MySQL8.0中的窗口函數(shù)的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 自學(xué)MySql內(nèi)置函數(shù)知識(shí)點(diǎn)總結(jié)

    自學(xué)MySql內(nèi)置函數(shù)知識(shí)點(diǎn)總結(jié)

    在本篇文章里小編給大家整理的是關(guān)于MySql內(nèi)置函數(shù)的知識(shí)點(diǎn)總結(jié)內(nèi)容,需要的朋友們可以學(xué)習(xí)參考下。
    2020-01-01
  • MySQL之存在則更新,否則就插入數(shù)據(jù)

    MySQL之存在則更新,否則就插入數(shù)據(jù)

    這篇文章主要介紹了MySQL之存在則更新,否則就插入數(shù)據(jù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01

最新評(píng)論

扬中市| 青阳县| 望都县| 霍林郭勒市| 余江县| 张家界市| 武隆县| 阜平县| 万宁市| 竹北市| 东乡族自治县| 泰和县| 什邡市| 平武县| 白银市| 阳泉市| 洛扎县| 潍坊市| 金湖县| 霸州市| 乌鲁木齐市| 弋阳县| 屏边| 双流县| 萝北县| 施秉县| 仙游县| 英德市| 汪清县| 卢氏县| 贵德县| 霍林郭勒市| 宿迁市| 潢川县| 宁都县| 巴彦淖尔市| 卢龙县| 巴马| 双辽市| 阜康市| 商洛市|