亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

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

語(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)行以下的嵌套查詢了:

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ò)下面的嵌套查詢實(shí)現(xiàn)同樣的效果:

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

2.行的子查詢(Row Subquery)

看下面的例子:

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

這個(gè)查詢是返回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)系查詢

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);

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

子查詢可以使用任何普通查詢中使用的關(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)文章

  • 三種東西永遠(yuǎn)不要放到mysql數(shù)據(jù)庫(kù)里

    三種東西永遠(yuǎn)不要放到mysql數(shù)據(jù)庫(kù)里

    這篇文章主要介紹了mysql數(shù)據(jù)庫(kù)不能存儲(chǔ)的三樣?xùn)|西,需要的朋友可以參考下
    2014-06-06
  • Linux下MySQL5.7.18 yum方式從卸載到安裝過(guò)程圖解

    Linux下MySQL5.7.18 yum方式從卸載到安裝過(guò)程圖解

    這篇文章主要介紹了Linux下MySQL5.7.18 yum方式從卸載到安裝過(guò)程圖解,需要的朋友可以參考下
    2017-06-06
  • mysql5.7.21.zip安裝教程

    mysql5.7.21.zip安裝教程

    這篇文章主要為大家詳細(xì)介紹了mysql5.7.21.zip安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • MySQL 數(shù)據(jù)庫(kù)的監(jiān)控方式小結(jié)

    MySQL 數(shù)據(jù)庫(kù)的監(jiān)控方式小結(jié)

    本文主要介紹了MySQL 數(shù)據(jù)庫(kù)的監(jiān)控方式小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Mysql性能優(yōu)化案例 - 覆蓋索引分享

    Mysql性能優(yōu)化案例 - 覆蓋索引分享

    這篇文章主要介紹了Mysql性能優(yōu)化案例 - 覆蓋索引分享,需要的朋友可以參考下
    2016-03-03
  • mysql數(shù)據(jù)庫(kù)創(chuàng)建賬號(hào)、授權(quán)、數(shù)據(jù)導(dǎo)出、導(dǎo)入操作示例

    mysql數(shù)據(jù)庫(kù)創(chuàng)建賬號(hào)、授權(quán)、數(shù)據(jù)導(dǎo)出、導(dǎo)入操作示例

    這篇文章主要介紹了mysql數(shù)據(jù)庫(kù)創(chuàng)建賬號(hào)、授權(quán)、數(shù)據(jù)導(dǎo)出、導(dǎo)入操作,結(jié)合實(shí)例形式分析了MySQL數(shù)據(jù)庫(kù)賬號(hào)創(chuàng)建、權(quán)限控制、數(shù)據(jù)導(dǎo)入導(dǎo)出等具體實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下
    2020-01-01
  • MySQL的常用命令集錦

    MySQL的常用命令集錦

    這篇文章主要介紹了MySQL的常用命令集錦,堪稱初學(xué)者需要掌握的MySQL命令大全,其中系統(tǒng)命令行環(huán)境是基于類Unix系統(tǒng)來(lái)作例子的,需要的朋友可以參考下
    2015-11-11
  • Mysql雙主搭建的方法步驟

    Mysql雙主搭建的方法步驟

    本文主要介紹了Mysql雙主搭建的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Windows系統(tǒng)下MySQL8.0.21安裝教程(圖文詳解)

    Windows系統(tǒng)下MySQL8.0.21安裝教程(圖文詳解)

    這篇文章主要介紹了Windows系統(tǒng)下MySQL8.0.21安裝教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • MySQL動(dòng)態(tài)字符串處理DYNAMIC_STRING

    MySQL動(dòng)態(tài)字符串處理DYNAMIC_STRING

    本文主要給大家簡(jiǎn)單講解了mysql如何使用DYNAMIC_STRING來(lái)進(jìn)行動(dòng)態(tài)字符串的保存,非常的實(shí)用,有需要的小伙伴可以參考下
    2016-10-10

最新評(píng)論