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

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)完全支持嵌套查詢了,那么下面舉些簡單的嵌套查詢的例子吧(源程序來自MySQL User Manual):

1. SELECT語句的子查詢

語法:

復(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.

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

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

所以我們可以通過下面的嵌套查詢實(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上的同志對這些應(yīng)該比較清楚,也不去詳細(xì)介紹了。

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

這里的Exist和Not Exist用途及用法和在其他沒有什么大的區(qū)別,我就簡單舉幾個(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語法,稍微注意一下:

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ù)庫做法是一樣的。

5.其他使用方法和注意

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

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

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

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

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

相關(guān)文章

  • mysql查詢語句中用戶變量的使用代碼解析

    mysql查詢語句中用戶變量的使用代碼解析

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

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

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

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

    今天小編就為大家分享一篇關(guān)于Mysql的數(shù)據(jù)庫遷移到另一個(gè)機(jī)器上的方法詳解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    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à)值,希望對大家有所幫助。如有錯(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ù)庫表中最常用的主鍵類型之一,然而,在一些特定的場景下,自增 ID 可能會達(dá)到其最大值,可能會遇到 ID 用盡的問題,所以本文介紹了MySQL自增id用完的解決方案,需要的朋友可以參考下
    2024-12-12
  • MySQL8.0中的窗口函數(shù)的示例代碼

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

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

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

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

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

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

最新評論

芮城县| 卢龙县| 崇左市| 福鼎市| 敦化市| 叶城县| 克拉玛依市| 老河口市| 邹平县| 寿光市| 南康市| 商丘市| 周口市| 油尖旺区| 洪泽县| 崇文区| 禄丰县| 巴彦淖尔市| 平遥县| 凭祥市| 安徽省| 阿克| 乃东县| 雷州市| 阜平县| 内黄县| 皮山县| 蓝山县| 白河县| 西丰县| 福州市| 仁布县| 白山市| 泰宁县| 罗源县| 林州市| 邵阳县| 德江县| 永嘉县| 吐鲁番市| 西畴县|