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

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

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

1.union:可以將查詢結果相加

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

利用下方的數據說明union的用法:

在這里插入圖片描述

1)union all:不能去重

在這里插入圖片描述

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

在這里插入圖片描述

2.limit:分頁查詢全靠它

1)對limit用法的一些說明

① limit是MySQL中特有的,其他數據庫中沒有,不通用;

② limit取結果集中的部分數據,這是它的作用;

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

 limit的使用語法:

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

2)案例說明

數據源如下:

在這里插入圖片描述

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

在這里插入圖片描述

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

在這里插入圖片描述

3)通用的標準分頁SQL

在這里插入圖片描述

根據上圖可以發(fā)現:

在這里插入圖片描述

拿百度瀏覽器進行說明:

在這里插入圖片描述

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

在這里插入圖片描述

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

數據源如下:

在這里插入圖片描述

① 當返回結果是一行記錄的情況

在這里插入圖片描述

② 當返回結果是多行記錄的情況

在這里插入圖片描述

③ 原理解釋

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

2)案例演示

利用下方的數據源,完成如下兩個練習題。

在這里插入圖片描述

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

在這里插入圖片描述

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

在這里插入圖片描述

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

在這里插入圖片描述

解釋如下:

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

1)搞清楚你要得到的結果是什么。
   這里你要得到的是"哪些工作沒有人做",也就是說返回的結果來自于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中每一行進行匹配,就會返回一個結果集。

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

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

5)根據上述敘述,當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關鍵字教程的詳細內容,更多關于MySQL系列union(all)與limit及exists關鍵字的資料請關注腳本之家其它相關文章!

相關文章

  • mysql alter table 修改表命令詳細介紹

    mysql alter table 修改表命令詳細介紹

    MYSQL ALTER TABLE命令用于修改表結構,例如添加/修改/刪除字段、索引、主鍵等等,本文章通過實例向大家介紹MYSQL ALTER TABLE語句的使用方法,需要的朋友可以參考一下。
    2016-10-10
  • SQL中如何將行轉成列詳解

    SQL中如何將行轉成列詳解

    行列轉換在做報表分析時還是經常會遇到的,今天就說一下如何實現行列轉換吧,下面這篇文章主要給大家介紹了關于SQL中如何將行轉成列的相關資料,需要的朋友可以參考下
    2022-11-11
  • MySQL字符集和排序規(guī)則詳解(推薦)

    MySQL字符集和排序規(guī)則詳解(推薦)

    MySQL中,字符集和排序規(guī)則在處理文本數據時起著至關重要的作用,本文將詳細介紹 MySQL中的字符集和排序規(guī)則,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • 關于MySQL存取圖片的三種方式(含源碼示例)

    關于MySQL存取圖片的三種方式(含源碼示例)

    最近在做小程序的后臺,要求將小程序用戶以upload方法上傳的圖片保存到mysql數據庫中,然后機緣巧合三種方式都試了,所以專門整理出來分享給大家,可能有的地方說的不太對,歡迎大家?guī)图m正,需要的朋友可以參考下
    2024-04-04
  • 安裝Mysql時可能會遇到的一些疑難雜癥

    安裝Mysql時可能會遇到的一些疑難雜癥

    這篇文章主要給大家介紹了關于安裝Mysql時可能會遇到的一些疑難雜癥,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • MySQL忘記root密碼以及遠程無法連接的解決方法

    MySQL忘記root密碼以及遠程無法連接的解決方法

    這篇文章主要介紹了MySQL忘記root密碼以及遠程無法連接問題的解決方法,文中有詳細的代碼示例來解決這些辦法,需要的朋友可以參考下
    2023-06-06
  • MySQL導入sql腳本錯誤:2006 解決方法

    MySQL導入sql腳本錯誤:2006 解決方法

    本文給大家分享的是在使用mysql導入數據的時候,提示腳本錯誤2006 MySQL server has gone away的解決方法,非常實用,有需要的小伙伴,可以參考下。
    2015-07-07
  • MYSQL輸入密碼后閃退現象的解決方法

    MYSQL輸入密碼后閃退現象的解決方法

    最近在啟動MySQL服務端并輸入密后,出現閃退現象,實際上這種問題很常見,下面這篇文章主要給大家介紹了關于MYSQL輸入密碼后閃退現象的解決方法,文中介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • 解決MySQL5.7安裝后沒有data文件夾無法登錄的問題

    解決MySQL5.7安裝后沒有data文件夾無法登錄的問題

    這篇文章主要介紹了解決MySQL5.7安裝后沒有data文件夾無法登錄的問題,需要的朋友可以參考下
    2016-04-04
  • 在SQL中對同一個字段不同值,進行數據統(tǒng)計操作

    在SQL中對同一個字段不同值,進行數據統(tǒng)計操作

    這篇文章主要介紹了在SQL中對同一個字段不同值,進行數據統(tǒng)計操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10

最新評論