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

MySQL中列子查詢與行子查詢操作的學習教程

 更新時間:2015年12月16日 17:36:45   投稿:goldensun  
這篇文章主要介紹了MySQL中列子查詢與行子查詢操作的學習教程,子查詢是MySQL入門學習中的基礎知識,需要的朋友可以參考下

MySQL 列子查詢及 IN、ANY、SOME 和 ALL 操作符的使用
MySQL 列子查詢
列子查詢是指子查詢返回的結果集是 N 行一列,該結果通常來自對表的某個字段查詢返回。
一個列子查詢的例子如下:

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

列子查詢中使用 IN、ANY、SOME 和 ALL 操作符

由于列子查詢返回的結果集是 N 行一列,因此不能直接使用 = > < >= <= <> 這些比較標量結果的操作符。在列子查詢中可以使用 IN、ANY、SOME 和 ALL 操作符:

  • IN:在指定項內,同 IN(項1,項2,…)。
  • ANY:與比較操作符聯(lián)合使用,表示與子查詢返回的任何值比較為 TRUE ,則返回 TRUE 。
  • SOME:ANY 的別名,較少使用。
  • ALL:與比較操作符聯(lián)合使用,表示與子查詢返回的所有值比較都為 TRUE ,則返回 TRUE 。

下面是原始數(shù)據(jù)表:

table1:

s1
2
10

table2:

s2
5
12
20

ANY 操作符
ANY 關鍵字必須接在一個比較操作符的后面,表示與子查詢返回的任何值比較為 TRUE ,則返回 TRUE 。一個 ANY 例子如下:
SELECT s1 FROM table1 WHERE s1 > ANY (SELECT s2 FROM table2)
查詢返回結果如下所示:

s1
10

在子查詢中,返回的是 table2 的所有 s2 列結果(5,12,20),然后將 table1 中的 s1 的值與之進行比較,只要大于 s2 的任何值即表示為 TRUE,符合查詢條件。
IN 是 = ANY 的別名,二者相同,但 NOT IN 的別名卻不是 <> ANY 而是 <> SOME。
特殊情況
如果 table2 為空表,則 ANY 后的結果為 FALSE;
如果子查詢返回如 (NULL,NULL,NULL) 列為空的結果,則 ANY 后的結果為 UNKNOWN 。
ALL 操作符
ALL 關鍵字必須接在一個比較操作符的后面,表示與子查詢返回的所有值比較為 TRUE ,則返回 TRUE 。一個 ALL 例子如下:
SELECT s1 FROM table1 WHERE s1 > ALL (SELECT s2 FROM table2)
該查詢不會返回任何結果,因為 s1 中沒有比 s2 所有值都大的值。
當然在該例子查詢中,返回了 s2 的所有值,您可以在該子查詢中添加任何條件以限制返回的查詢結果而無需全部返回。
NOT IN 是 <> ALL 的別名,二者相同。
特殊情況
如果 table2 為空表,則 ALL 后的結果為 TRUE;
如果子查詢返回如 (0,NULL,1) 這種盡管 s1 比返回結果都大,但有空行的結果,則 ALL 后的結果為 UNKNOWN 。
注意:對于 table2 空表的情況,下面的語句均返回 NULL:

SELECT s1 FROM table1 WHERE s1 > (SELECT s2 FROM table2)
SELECT s1 FROM table1 WHERE s1 > ALL (SELECT MAX(s1) FROM table2)

MySQL 行子查詢
行子查詢是指子查詢返回的結果集是一行 N 列,該子查詢的結果通常是對表的某行數(shù)據(jù)進行查詢而返回的結果集。
一個行子查詢的例子如下:

SELECT * FROM table1 WHERE (1,2) = (SELECT column1, column2 FROM table2)

在該例子中,在保證子查詢返回單一行數(shù)據(jù)的前提下,如果 column1=1 且 column2=2 ,則該查詢結果為 TRUE。
MySQL 行構造符
在上面的例子中,WHERE 后面的 (1,2) 被稱為行構造符,也可以寫作 ROW(1,2)。行構造符通常用于與對能返回兩個或兩個以上列的子查詢進行比較。
MySQL 行子查詢實例
下面是用于例子的兩張原始數(shù)據(jù)表:
article 表:

20151216173312137.png (646×131)

blog 表:

20151216173333001.png (645×102)

SQL 如下:

SELECT * FROM article WHERE (title,content,uid) = (SELECT title,content,uid FROM blog WHERE bid=2)

查詢返回結果如下所示:

20151216173412781.png (659×53)

在該行子查詢例子中,將 article 表 title,content,uid 字段逐一與子查詢返回的行記錄作比較,如果相等則列出這些相等的記錄(理論上可能不止一條)。

相關文章

  • MySQL/Oracle數(shù)據(jù)庫的字符串轉日期、日期轉字符串

    MySQL/Oracle數(shù)據(jù)庫的字符串轉日期、日期轉字符串

    在許多數(shù)據(jù)庫中,你可以使用內置的函數(shù)或操作符來進行字符串和日期之間的相互轉換,這篇文章主要給大家介紹了關于MySQL/Oracle數(shù)據(jù)庫的字符串轉日期、日期轉字符串的相關資料,需要的朋友可以參考下
    2024-07-07
  • 一文帶你探究MySQL中的NULL

    一文帶你探究MySQL中的NULL

    我們在日常工作中如果要接觸Mysql數(shù)據(jù)庫,那么不可避免會遇到Mysql中,下面這篇文章主要給大家介紹了關于MySQL中NULL的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-11-11
  • Mysql數(shù)據(jù)庫的主從復制與讀寫分離精講教程

    Mysql數(shù)據(jù)庫的主從復制與讀寫分離精講教程

    這篇文章主要為大家詳細介紹了Mysql數(shù)據(jù)庫的主從復制與讀寫分離的示例教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-11-11
  • MySQL5.5.21安裝配置教程(win7)

    MySQL5.5.21安裝配置教程(win7)

    這篇文章主要以圖文結合的方式介紹了Win7系統(tǒng)下安裝MySQL5.5.21的具體過程,感興趣的小伙伴們可以參考一下
    2016-06-06
  • 解決bash: mysql: command not found 的方法

    解決bash: mysql: command not found 的方法

    解決bash: mysql: command not found 的方法,需要的朋友可以參考一下
    2013-03-03
  • 搞定mysql行轉列的7種方法以及列轉行

    搞定mysql行轉列的7種方法以及列轉行

    在MySQL數(shù)據(jù)庫中,有時候我們需要將一列數(shù)據(jù)轉化為行數(shù)據(jù),以便更好地進行數(shù)據(jù)分析和處理,下面這篇文章主要給大家介紹了關于搞定mysql行轉列的7種方法以及列轉行的相關資料,需要的朋友可以參考下
    2024-03-03
  • linux下 root 登錄 MySQL 報錯的問題

    linux下 root 登錄 MySQL 報錯的問題

    本文給大家記錄的是個人在linux下使用root用戶登錄mysql的時候遇到的一個錯誤的解決方法,非常的簡單實用,有需要的小伙伴可以參考下。
    2016-02-02
  • Windows 8下MySQL Community Server 5.6安裝配置方法圖文教程

    Windows 8下MySQL Community Server 5.6安裝配置方法圖文教程

    這篇文章主要為大家詳細介紹了Windows 8下MySQL Community Server 5.6安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • MySQL中如何優(yōu)化order by語句

    MySQL中如何優(yōu)化order by語句

    本文主要介紹了MySQL中如何優(yōu)化order by語句,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • MySQL在生產(chǎn)環(huán)境出現(xiàn)無法啟動的問題解決

    MySQL在生產(chǎn)環(huán)境出現(xiàn)無法啟動的問題解決

    在當今的數(shù)據(jù)驅動世界中,MySQL作為廣泛應用的關系型數(shù)據(jù)庫管理系統(tǒng),在眾多生產(chǎn)環(huán)境中承擔著至關重要的角色,然而,面對復雜多變的業(yè)務場景,MySQL可能會遭遇各類故障和性能瓶頸,本文將深入探討MySQL在生產(chǎn)環(huán)境出現(xiàn)無法啟動的問題解決,需要的朋友可以參考下
    2024-10-10

最新評論

宝鸡市| 板桥市| 巴林右旗| 威海市| 贵南县| 北宁市| 共和县| 绩溪县| 二手房| 彭阳县| 宜章县| 遂川县| 成都市| 固安县| 太和县| 广东省| 新和县| 夏河县| 大同市| 汾西县| 师宗县| 新蔡县| 栾城县| 遂溪县| 乐陵市| 乌兰察布市| 江达县| 邢台县| 朝阳市| 海南省| 安陆市| 建阳市| 祥云县| 鲁甸县| 涿鹿县| 柞水县| 凤冈县| 连云港市| 保靖县| 大同市| 突泉县|