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

MySQL系列理解運用union(all)與limit及exists關鍵字教程

 更新時間:2021年10月26日 10:19:39   作者:數(shù)據(jù)分析與統(tǒng)計學之美  
這篇文章主要為大家介紹了MySQL系列中union(all)、limit及exists關鍵字的教程示例講解,通過本篇文章就可以理解MySQL中的這些關鍵字的概念以及實際的運用

1.union:可以將查詢結(jié)果相加

union用于將查詢結(jié)果相加,尤其是將兩張毫無關系的表中的數(shù)據(jù),拼接在一起顯示的時候。
但是有一個前提條件:不同結(jié)果進行拼接的時候,列數(shù)必須相同。

利用下方的數(shù)據(jù)說明union的用法:

在這里插入圖片描述

1)union all:不能去重

在這里插入圖片描述

2)union:可以達到去重的效果。

在這里插入圖片描述

2.limit:分頁查詢?nèi)克?/h2>

1)對limit用法的一些說明

① limit是MySQL中特有的,其他數(shù)據(jù)庫中沒有,不通用;

② limit取結(jié)果集中的部分數(shù)據(jù),這是它的作用;

③ limit是sql語句最后執(zhí)行的一個環(huán)節(jié);

 limit的使用語法:

limit startIndex,length; 其中startIndex表示起始位置,從0開始,0表示第一條數(shù)據(jù),length表示取幾個。

2)案例說明

數(shù)據(jù)源如下:

在這里插入圖片描述

① 取出工資前五名的員工,顯示其信息。

在這里插入圖片描述

②找出工資排名在第4到第9名的員工。

在這里插入圖片描述

3)通用的標準分頁SQL

在這里插入圖片描述

根據(jù)上圖可以發(fā)現(xiàn):

在這里插入圖片描述

拿百度瀏覽器進行說明:

在這里插入圖片描述

3.exists用法:又稱"相關子查詢"

在這里插入圖片描述

1)帶你理解exists的執(zhí)行原理

數(shù)據(jù)源如下:

在這里插入圖片描述

① 當返回結(jié)果是一行記錄的情況

在這里插入圖片描述

② 當返回結(jié)果是多行記錄的情況

在這里插入圖片描述

③ 原理解釋

從上圖演示可以發(fā)現(xiàn),不管exists關鍵字后面的SQL語句,不管是查詢出一條結(jié)果,還是多條結(jié)果,只要查出結(jié)果,整個結(jié)果就是True,而MySQL中True就用1表示,所以最終結(jié)果就是1。一旦exists關鍵字后面的SQL語句,查詢不出任何一條結(jié)果的時候,最終的返回值就是False,在MySQL中False就用0表示,所以最終結(jié)果就是0。

2)案例演示

利用下方的數(shù)據(jù)源,完成如下兩個練習題。

在這里插入圖片描述

① 查詢jobs表中,哪個工作有人做?

在這里插入圖片描述

② 查詢jobs表中,哪個工作沒有人做?

在這里插入圖片描述

3)一張圖說明exists子查詢的原理

在這里插入圖片描述

解釋如下:

"有一個A公司,公司中所有的工作都在jobs表,emp表中可以看到哪些工作已經(jīng)被做了"
select jobs.job
from jobs
where not exists(select * from emp where jobs.job=emp.job);

1)搞清楚你要得到的結(jié)果是什么。
   這里你要得到的是"哪些工作沒有人做",也就是說返回的結(jié)果來自于jobs表,但是
   "怎么知道哪些工作有人做,哪些沒人做呢?",這就需要我們對照emp表。

2)首先從jobs表中,取出第一條記錄,扔進到emp表中和該表的每一行進行匹配。當匹
   配到第一行的時候,由于emp表中的每一行都有8列,你究竟想匹配什么呢?是不是應該明
   確指明以下,也就是"where jobs.job=emp.job"這個條件,這個條件表明,我從jobs
   表中取出第一條記錄,去和emp中每一行進行匹配,并且我更為明確,我是和你第一行的
   job字段進行匹配,你只需要看看jobs.job和emp.job是否相等,如果相等,返回該條記
   錄,接著,拿著第一行再往下依次匹配,只要是jobs.job和emp.job是否相等,就返回
   該條記錄。因此jobs中的第一行和emp中每一行進行匹配,就會返回一個結(jié)果集。

3)再看exists關鍵字,exists()返回的結(jié)果是true或者false,當括號中有值的時候,
   就是存在,返回的是true;當括號中沒有值的時候,返回的是false。根據(jù)(1)中,我們
   已經(jīng)知道,jobs中的第一行和emp中每一行匹配后,返回了一個結(jié)果集,也就證明有返回
   值,因此exists()返回的結(jié)果是true。

4)當在exists()前面加了一個not,表示取反。exists()返回的是true,not exists()
   返回的就是false。

5)根據(jù)上述敘述,當not exists()變?yōu)閒alse后,原始語句就相當于變?yōu)椋?br />    select jobs.job from jobs where false;
   因此,第一行clerk不能被取出來。

6)接著,再拿jobs中的第二行"SALESMAN",去和emp表中的每一行進行一一匹配,依然重
   復上述步驟。

以上就是MySQL系列一文讀懂union(all)與limit及exists關鍵字教程的詳細內(nèi)容,更多關于MySQL系列union(all)與limit及exists關鍵字的資料請關注腳本之家其它相關文章!

相關文章

  • mysql索引失效的五種情況分析

    mysql索引失效的五種情況分析

    這篇文章主要介紹了mysql索引失效的5種情況分析,需要的朋友可以參考下
    2015-01-01
  • MySQL啟動失敗報錯:mysqld.service failed to run ‘start-pre‘ task的問題分析與解決方案

    MySQL啟動失敗報錯:mysqld.service failed to run 

    在日常運維中,MySQL 作為廣泛應用的關系型數(shù)據(jù)庫,其穩(wěn)定性和可用性至關重要,然而,有時系統(tǒng)升級或配置變更后,MySQL 服務可能會出現(xiàn)無法啟動的問題,本文針對某次實際案例進行深入分析和處理,需要的朋友可以參考下
    2024-12-12
  • mysql 主從服務器的簡單配置

    mysql 主從服務器的簡單配置

    首先呢,需要有兩個mysql服務器。如果做測試的話可以在同一臺機器上裝兩個mysql服務程序,注意要兩個運行程序的端口不能一樣。我用的是一個是默認的3306,從服務器用的是3307端口。
    2009-05-05
  • 解決MYSQL出現(xiàn)Can''t create/write to file ''/tmp/#sql_5c0_0.MYD''的問題

    解決MYSQL出現(xiàn)Can''t create/write to file ''/tmp/#sql_5c0_0.MYD''

    今天在配置服務器的時候提示這個問題Can't create/write to file,原來是php.ini中設置的tmp目錄不存在
    2013-07-07
  • MySQL存儲過程、游標與觸發(fā)器示例詳解

    MySQL存儲過程、游標與觸發(fā)器示例詳解

    文章介紹了存儲過程、變量、SQL編程、游標、存儲函數(shù)和觸發(fā)器的概念、使用方法和優(yōu)缺點,本文通過實例代碼對MySQL存儲過程、游標與觸發(fā)器相關知識介紹的非常詳細,感興趣的朋友一起看看吧
    2025-11-11
  • Canal入門使用小結(jié)

    Canal入門使用小結(jié)

    Canal是一款MySQL數(shù)據(jù)庫增量日志解析工具,用于實現(xiàn)數(shù)據(jù)庫之間的數(shù)據(jù)同步,本文主要介紹了Canal入門使用小結(jié),感興趣的可以了解一下
    2025-02-02
  • MySql中的IFNULL、NULLIF和ISNULL用法詳解

    MySql中的IFNULL、NULLIF和ISNULL用法詳解

    在做項目中發(fā)現(xiàn)MySql里的isnull和mssql里的有點不同。接下來小編通過本文給大家介紹MySql中的IFNULL、NULLIF和ISNULL用法詳解的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • 詳解Mysql 游標的用法及其作用

    詳解Mysql 游標的用法及其作用

    這篇文章主要介紹了Mysql 游標的相關資料,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2020-09-09
  • DB為何大量出現(xiàn)select @@session.tx_read_only 詳解

    DB為何大量出現(xiàn)select @@session.tx_read_only 詳解

    這篇文章主要給大家介紹了關于DB為何大量出現(xiàn)select @@session.tx_read_only 的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2018-04-04
  • 詳解sql中的參照完整性(一對一,一對多,多對多)

    詳解sql中的參照完整性(一對一,一對多,多對多)

    這篇文章主要介紹了sql中的參照完整性,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04

最新評論

孝昌县| 鄂伦春自治旗| 中西区| 宾川县| 康马县| 津南区| 都兰县| 新密市| 金塔县| 卫辉市| 元阳县| 基隆市| 武宣县| 平山县| 循化| 孟津县| 宝坻区| 宁国市| 阳谷县| 平和县| 肇源县| 盐城市| 抚顺市| 博客| 遵义县| 沙洋县| 开化县| 曲沃县| 康马县| 鄂托克旗| 金昌市| 普陀区| 绥阳县| 家居| 兰溪市| 德昌县| 双鸭山市| 澄江县| 温宿县| 菏泽市| 濮阳县|