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

MySQL復合查詢的實現(xiàn)示例

 更新時間:2023年10月07日 10:22:52   作者:冰果滴  
復合查詢語句是MySQL中一種非常重要的查詢方式,可以用于優(yōu)化查詢性能和控制查詢的結(jié)果集,具有一定的參考價值,感興趣的可以了解一下

前言:經(jīng)過前面的學習,MySQL的基本操作都已經(jīng)掌握了。之前介紹的是對于一張表進行查詢,但是僅僅查詢一張表是不夠的,所以從這一篇開始要介紹多張表時如何查詢。

一.單表查詢(引入子查詢)

(1)查詢工資高于500或崗位為MANAGER的雇員,同時還要滿足他們的姓名首字母為大寫的J:

這兩種寫法都可以。 

(2)按照部門號升序而雇員的工資降序排序

(3)使用年薪進行降序排序

(4)顯示工資最高的員工的名字和工作崗位

max是聚合函數(shù),不能這么用,因此可以將其分開:

這樣分兩步寫看著很不好,因此這里要用到一個新的查詢:子查詢

即在一個查詢里嵌套另一個查詢。

也可以據(jù)此顯示年薪最高的員工的名字和工作崗位:

(5)顯示工資高于平均工資的員工信息

(6)顯示每個部門的平均工資和最高工資

這里format是最后一步,不要先對它重命名,后面是無法識別的。 

(7)顯示平均工資低于2000的部門號和它的平均工資

(8)顯示每種崗位的雇員總數(shù),平均工資

二.多表查詢

(1)顯示雇員名、雇員工資以及所在部門的名字因為上面的數(shù)據(jù)來自EMP和DEPT表,因此要聯(lián)合查詢

這里雇員名和雇員工資在emp表(從表)中,而部門名字在dept表(主表)中,emp表只有部門的編號。

select后面是可以跟多個表的,后面多個表會被合并為一個表顯示:

多表組合,形成笛卡爾積,本質(zhì)是數(shù)據(jù)的窮舉。

這里只有兩個deptno相等的才是有效的,但是不能這么寫:

應(yīng)該這樣寫:

因此:

得到了想要查詢的結(jié)果。 

解決多表查詢的思路:

① 讀題,確定都和哪些表有關(guān)

② 組合成一張表

③ 將多表查詢,看作成為一張表的查詢

(2)顯示部門號為10的部門名,員工名和工資

(3)顯示各個員工的姓名,工資,及工資級別

三.自連接

自連接是指在同一張表連接查詢。

可以用e1和e2表示兩個相同的emp表。

例子:顯示員工FORD的上級領(lǐng)導的編號和姓名

如果按照之前的方法,是要兩步的,不過這里可以用自連接變成一步。

這樣就變成了一步。

也可以用子查詢的方法變成一步。

四.子查詢

(1)多行單列子查詢 

返回多行記錄的子查詢。(這里是對上面子查詢的擴展)

① in:在這個集合中

查詢和10號部門的工作崗位相同的雇員的名字,崗位,工資,部門號,但是不包含10自己的。

② all:所有的

顯示工資比部門30的所有員工的工資高的員工的姓名、工資和部門號。

不使用all,可以將題目轉(zhuǎn)化為大于30的員工中最高工資的員工。

用all。

③ any:任何一個

顯示工資比部門30的任意員工的工資高的員工的姓名、工資和部門號(包含自己部門的員工)

(2)多列子查詢

單行子查詢是指子查詢只返回單列,單行數(shù)據(jù);多行子查詢是指返回單列多行數(shù)據(jù),都是針對單列而言的,而多列子查詢則是指查詢返回多個列數(shù)據(jù)的子查詢語句。

例子:查詢和SMITH的部門和崗位完全相同的所有雇員,不含SMITH本人。

(3)在from子句中使用子查詢

子查詢語句出現(xiàn)在from子句中。這里要用到數(shù)據(jù)查詢的技巧,把一個子查詢當做一個臨時表使用。

例子①:顯示每個高于自己部門平均工資的員工的姓名、部門、工資、平均工資

如果想知道其工資等級,就繼續(xù)往上加:

例子②:查找每個部門工資最高的人的姓名、工資、部門、最高工資

例子③:顯示每個部門的信息(部門名,編號,地址)和人員數(shù)量

mysql永遠會有一張表。

如果我們只有一張表,要進行各種select,我們認為,所有select查出來的結(jié)果,都是一張表。

如果我們有多張表,進行查詢之前,我們可以進行整合,也是select,查出來的結(jié)果,也是一張表。

五.合并查詢(union、union all)

為了合并多個select的執(zhí)行結(jié)果,可以使用集合操作符 union,union all

  • union用于取得兩個結(jié)果集的并集。當使用該操作符時,會自動去掉結(jié)果集中的重復行。
  • union all用于取得兩個結(jié)果集的并集。當使用該操作符時,不會去掉結(jié)果集中的重復行。

例子:將工資大于2500或職位是MANAGER的人找出來。

這是不使用union的方法。

使用union將兩個語句合并在一起。 

如果使用union all就不會去重。

union (all):本質(zhì)是將多次查詢結(jié)果合并成為一個結(jié)果(就是將多張表合并成為一張表)。

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

相關(guān)文章

  • MySQL慢查詢優(yōu)化從30秒到300毫秒的完整過程

    MySQL慢查詢優(yōu)化從30秒到300毫秒的完整過程

    文章介紹了如何優(yōu)化一個響應(yīng)時間為30秒的SQL接口,將響應(yīng)時間優(yōu)化到300毫秒的過程,通過開啟慢查詢?nèi)罩尽⒎治鯯QL執(zhí)行計劃、添加聯(lián)合索引和優(yōu)化查詢技巧等步驟,解決了慢查詢問題,文章還分享了索引設(shè)計原則、實用工具和遠程數(shù)據(jù)庫排查技巧,需要的朋友可以參考下
    2025-12-12
  • 淺談MySQL中不等號索引問題

    淺談MySQL中不等號索引問題

    本文主要介紹了淺談MySQL中不等號索引問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • 計算機二級考試MySQL知識點 mysql alter命令

    計算機二級考試MySQL知識點 mysql alter命令

    這篇文章主要為大家詳細介紹了計算機二級考試MySQL知識點,詳細介紹了mysql中alter命令的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • MySQL提取Json內(nèi)部字段轉(zhuǎn)儲為數(shù)字

    MySQL提取Json內(nèi)部字段轉(zhuǎn)儲為數(shù)字

    本文主要介紹了MySQL提取Json內(nèi)部字段轉(zhuǎn)儲為數(shù)字,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2021-07-07
  • MySQL存儲過程的創(chuàng)建和使用示例詳解

    MySQL存儲過程的創(chuàng)建和使用示例詳解

    文章介紹了MySQL存儲過程的概念、創(chuàng)建與刪除、調(diào)用、變量使用、參數(shù)、流程控制、管理和案例,存儲過程可以封裝SQL指令,提高執(zhí)行效率,但也有一定局限性,感興趣的朋友跟隨小編一起看看吧
    2025-02-02
  • Mysql數(shù)據(jù)庫值的添加、修改、刪除及清空操作實例

    Mysql數(shù)據(jù)庫值的添加、修改、刪除及清空操作實例

    這篇文章主要給大家介紹了關(guān)于Mysql數(shù)據(jù)庫值的添加、修改、刪除及清空操作的相關(guān)資料,文中通過示例代碼以及圖文介紹的非常詳細,需要的朋友可以參考下
    2021-06-06
  • Linux下將數(shù)據(jù)庫從MySQL遷移到MariaDB的基礎(chǔ)操作教程

    Linux下將數(shù)據(jù)庫從MySQL遷移到MariaDB的基礎(chǔ)操作教程

    這篇文章主要介紹了將數(shù)據(jù)庫從MySQL遷移到MariaDB的基礎(chǔ)操作教程,當然遷移之前不要忘記數(shù)據(jù)庫的備份!需要的朋友可以參考下
    2015-11-11
  • MySQL數(shù)據(jù)表損壞的正確修復方案

    MySQL數(shù)據(jù)表損壞的正確修復方案

    修復以損壞的MySQL數(shù)據(jù)表的實際操作在實際中是我們經(jīng)常用到的,以下的文章主要是介紹正確修復以損壞的MySQL數(shù)據(jù)表的實際操作步驟,以下就是正文的介紹,希望會給你帶來一些幫助在此方面。
    2011-01-01
  • 一文分享MySQL數(shù)據(jù)庫備份恢復腳本

    一文分享MySQL數(shù)據(jù)庫備份恢復腳本

    在日常業(yè)務(wù)場景,通常情況下,我們不需要進行全庫備份,而是只備份需要的數(shù)據(jù)庫,本文分享一個MySQL數(shù)據(jù)庫備份恢復腳本,用于備份和恢復指定的數(shù)據(jù)庫,希望對大家有所幫助
    2026-06-06
  • 深入了解MySQL中分區(qū)表的原理與企業(yè)級實戰(zhàn)

    深入了解MySQL中分區(qū)表的原理與企業(yè)級實戰(zhàn)

    本文詳細講解什么是分區(qū)表,分區(qū)表增刪改查的工作原理以及分區(qū)表的實戰(zhàn),分區(qū)表的場景有哪些,哪些場景不建議用分區(qū)表,并列舉出六點使用分區(qū)表的誤區(qū),需要的可以參考一下
    2022-11-11

最新評論

科尔| 珠海市| 增城市| 涿鹿县| 当涂县| 右玉县| 海口市| 乌恰县| 红原县| 高平市| 隆林| 定南县| 炎陵县| 靖宇县| 离岛区| 鹤峰县| 陈巴尔虎旗| 尚义县| 岫岩| 衡山县| 延吉市| 星座| 洪湖市| 沂南县| 土默特左旗| 乌兰县| 清镇市| 页游| 抚州市| 遵化市| 大新县| 杨浦区| 延津县| 泉州市| 肇庆市| 锦州市| 鱼台县| 岚皋县| 宜黄县| 丰顺县| 巫溪县|