欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL子查詢的使用詳解下篇

 更新時間:2022年08月30日 15:22:40   作者:一個風(fēng)輕云淡  
子查詢是在查詢語句里面再嵌套一個查詢,這是因為我們在提取數(shù)據(jù)的時候有很多不知道的數(shù)據(jù)產(chǎn)生了依賴關(guān)系。本文為大家總結(jié)了一下MySQL數(shù)據(jù)庫子查詢語法規(guī)則,感興趣的可以了解一下

相關(guān)子查詢

相關(guān)子查詢執(zhí)行流程

如果子查詢的執(zhí)行依賴于外部查詢,通常情況下都是因為子查詢中的表用到了外部的表,并進行了條件關(guān)聯(lián),因此每執(zhí)行一次外部查詢,子查詢都要重新計算一次,這樣的子查詢就稱之為 關(guān)聯(lián)子查詢 。相關(guān)子查詢按照一行接一行的順序執(zhí)行,主查詢的每一行都執(zhí)行一次子查詢。

說明:子查詢中使用主查詢中的列

題目:查詢員工中工資大于本部門平均工資的員工的last_name,salary和其department_id

方式一:相關(guān)子查詢

在 FROM 中使用子查詢

SELECT last_name,salary,e1.department_id
FROM employees e1,(SELECT department_id,AVG(salary) dept_avg_sal FROM employees GROUP
BY department_id) e2
WHERE e1.`department_id` = e2.department_id
AND e2.dept_avg_sal < e1.`salary`;

from型的子查詢:子查詢是作為from的一部分,子查詢要用()引起來,并且要給這個子查詢?nèi)e

名, 把它當(dāng)成一張“臨時的虛擬的表”來使用。

題目:查詢員工的id,salary,按照department_name 排序

在ORDER BY 中使用子查詢:

SELECT employee_id,salary
FROM employees e
ORDER BY (
SELECT department_name
FROM departments d
WHERE e.`department_id` = d.`department_id`
);

EXISTS與NOT EXISTS關(guān)鍵字

關(guān)聯(lián)子查詢通常也會和 EXISTS操作符一起來使用,用來檢查在子查詢中是否存在滿足條件的行。

如果在子查詢中不存在滿足條件的行:

條件返回 FALSE

繼續(xù)在子查詢中查找

如果在子查詢中存在滿足條件的行:

不在子查詢中繼續(xù)查找

條件返回 TRUE

NOT EXISTS關(guān)鍵字表示如果不存在某種條件,則返回TRUE,否則返回FALSE。

題目:查詢公司管理者的employee_id,last_name,job_id,department_id信息

SELECT employee_id, last_name, job_id, department_id
FROM employees e1
WHERE EXISTS ( SELECT *
FROM employees e2
WHERE e2.manager_id =
e1.employee_id);

子查詢實際上是通過未知表進行查詢后的條件判斷,而自連接是通過已知的自身數(shù)據(jù)表

進行條件判斷,因此在大部分 DBMS 中都對自連接處理進行了優(yōu)化。

到此這篇關(guān)于MySQL子查詢的使用詳解下篇的文章就介紹到這了,更多相關(guān)MySQL子查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL多表鏈接查詢核心優(yōu)化

    MySQL多表鏈接查詢核心優(yōu)化

    本篇文章主要介紹了MySQL多表鏈接查詢核心優(yōu)化,數(shù)據(jù)庫對數(shù)據(jù)表的多表查詢是必不可少的,所以涉及到性能優(yōu)化,有需要的可以了解一下。
    2016-11-11
  • 深入分析MySQL 的備份和恢復(fù)機制

    深入分析MySQL 的備份和恢復(fù)機制

    備份對于數(shù)據(jù)庫來說是相當(dāng)重要的工作。如果數(shù)據(jù)庫在使用過程中出現(xiàn)了問題,比如系統(tǒng)崩潰、硬件故障或錯誤的刪除了數(shù)據(jù)。這時,如果我們進行了數(shù)據(jù)備份,就能比較方便的使數(shù)據(jù)庫恢復(fù)工作,并使我們的數(shù)據(jù)損失到最小。下面我們來詳細探討下數(shù)據(jù)庫的備份與恢復(fù)。
    2016-11-11
  • MySQL修煉之聯(lián)結(jié)與集合淺析

    MySQL修煉之聯(lián)結(jié)與集合淺析

    在mysql中,最重要的就是查詢了,下面這篇文章主要給大家介紹了關(guān)于MySQL修煉之聯(lián)結(jié)與集合的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-09-09
  • MySQL排序中使用CASE WHEN的方法示例

    MySQL排序中使用CASE WHEN的方法示例

    這篇文章主要給大家介紹了關(guān)于MySQL排序中使用CASE WHEN的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • 找到一種不錯的從SQLServer轉(zhuǎn)成Mysql數(shù)據(jù)庫的方法

    找到一種不錯的從SQLServer轉(zhuǎn)成Mysql數(shù)據(jù)庫的方法

    找到一種不錯的從SQLServer轉(zhuǎn)成Mysql數(shù)據(jù)庫的方法...
    2007-07-07
  • 使用mysql中遇到的幾個問題

    使用mysql中遇到的幾個問題

    首先mysql不是可視化的,可以通過命令行進行操作,包括創(chuàng)建數(shù)據(jù)庫、表、添加數(shù)據(jù)等等。那豈不是很不方便了嗎?
    2009-07-07
  • 故障的機器修好后重啟,狂拉主庫binlog,導(dǎo)致網(wǎng)絡(luò)問題的解決方法

    故障的機器修好后重啟,狂拉主庫binlog,導(dǎo)致網(wǎng)絡(luò)問題的解決方法

    本文主要記錄一次簡單的、典型的故障,發(fā)生問題的原因很簡單,這個問題發(fā)生也很簡單,各位同學(xué)一定要注意,一不留神就會對主庫造成影響
    2016-04-04
  • MySQL無法啟動的解決辦法

    MySQL無法啟動的解決辦法

    這篇文章主要介紹了MySQL無法啟動的解決辦法的相關(guān)資料,希望通過本文大家能解決數(shù)據(jù)庫不能啟動的問題,需要的朋友可以參考下
    2017-09-09
  • MySQL SHOW PROCESSLIST協(xié)助故障診斷全過程

    MySQL SHOW PROCESSLIST協(xié)助故障診斷全過程

    這篇文章主要給大家介紹了關(guān)于MySQL SHOW PROCESSLIST協(xié)助故障診斷的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • MySQL實現(xiàn)查詢數(shù)據(jù)庫表記錄數(shù)

    MySQL實現(xiàn)查詢數(shù)據(jù)庫表記錄數(shù)

    這篇文章主要介紹了MySQL實現(xiàn)查詢數(shù)據(jù)庫表記錄數(shù),文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09

最新評論