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

MySql連接查詢方式詳解

 更新時間:2022年09月19日 09:08:18   作者:在人間負(fù)債^  
這篇文章主要介紹了mysql連接查詢,當(dāng)查詢結(jié)果的列來源于多張表時,需要將多張表連接成一個大的數(shù)據(jù)集,再選擇合適的列返回,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧

1. 什么是連接查詢

從一張表中單獨(dú)查詢,稱為單表查詢。

跨表查詢,多張表聯(lián)合其來查詢,稱為連接查詢。

2. 連接查詢的方式

內(nèi)連接:

  • 等值連接
  • 非等值連接
  • 自連接

外連接:

  • 左外連接(左連接)
  • 右外連接(右連接)

當(dāng)對多張表進(jìn)行查詢,沒有任何限制的時候,返回的值是笛卡爾積

3. 內(nèi)連接

1. 等值連接

查詢每個員工所在部門名稱,顯示員工名和部門名?

emp e 和 dept d 表進(jìn)行連接,條件是:e. deptno = d.deptno

SQL92語法

mysql> select e.ename, d.dname from emp e, dept d where e.deptno = d.deptno;

SQL99語法

mysql> select e.ename, d.dname from emp e join dept d on e.deptno = d.deptno;

SQL92的缺點(diǎn):結(jié)構(gòu)不清晰,表的連接條件,和后期進(jìn)一步篩選的條件,都放到了where后面。

SQL99的優(yōu)點(diǎn):表連接的條件是獨(dú)立的,連接之后,如果還需要進(jìn)一步篩選,再往后繼續(xù)添加where語句。

2. 非等值連接

找出每個員工的薪資等級,要求顯示員工名、薪資、薪資等級?

mysql> select e.ename, e.sal, s.grade from emp e join salgrade s on e.sal between s.losal and s.hisal;

3. 自連接

查詢員工的上級領(lǐng)導(dǎo),要求顯示員工名對應(yīng)的領(lǐng)導(dǎo)名?

一張表看成兩張表

emp a 員工表

emp b 領(lǐng)導(dǎo)表

mysql> select a.ename as '員工名', b.ename as '領(lǐng)導(dǎo)名' from emp a join emp b on a.mgr = b. empno;

4. 外連接

與內(nèi)連接不同的地方在于,內(nèi)連接對于沒有匹配的值,就不在查詢結(jié)果中;而外連接對于沒有匹配的值,依舊存在與查詢結(jié)果中。

right:將 join 關(guān)鍵字右邊的表看為主表

left:將 join 關(guān)鍵字左邊的表看為主表

1. 右外連接

mysql> select e.ename, d.dname from emp e right join dept d on e.deptno = d.deptno;

2. 左外連接

mysql> select e.ename, d.dname from dept d left join emp e on e.deptno = d.deptno;

查詢每個員工的上級領(lǐng)導(dǎo),要求顯示所有員工的姓名和領(lǐng)導(dǎo)姓名?

mysql> select a.ename as '員工名', b.ename as '領(lǐng)導(dǎo)名' from emp a left join emp b on a.mgr = b.empno;

5. 多張表(兩張以上)連接

找出每個員工的部門名稱以及工資等級,要求顯示員工名、薪資、薪資等級?

select e.ename, e.sal, d.dname, s.grade from emp e join dept d on e.deptno = d.deptno join salgrade s on e.sal between s.losal and s.hisal;

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

相關(guān)文章

  • 深入理解MySQL中的主鍵、超鍵、候選鍵、外鍵

    深入理解MySQL中的主鍵、超鍵、候選鍵、外鍵

    文詳細(xì)介紹了MySQL數(shù)據(jù)庫中的四種關(guān)鍵鍵類型:主鍵、超鍵、候選鍵和外鍵,并探討了它們在數(shù)據(jù)庫設(shè)計和管理中的作用,感興趣的可以了解一下
    2024-09-09
  • mysql數(shù)據(jù)遷移到Oracle的正確方法

    mysql數(shù)據(jù)遷移到Oracle的正確方法

    這篇文章主要為大家詳細(xì)介紹了mysql數(shù)據(jù)遷移到Oracle的正確方法,文中步驟介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • MySQL進(jìn)行g(shù)roup by字段返回大量異常結(jié)果的問題解決

    MySQL進(jìn)行g(shù)roup by字段返回大量異常結(jié)果的問題解決

    本文主要介紹了MySQL進(jìn)行g(shù)roup by字段返回大量異常結(jié)果的問題解決,文中通過代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • MySQL8中的存儲引擎以及文件解析

    MySQL8中的存儲引擎以及文件解析

    這篇文章主要介紹了MySQL8中的存儲引擎以及文件使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • mysql 5.7.16 winx64安裝配置方法圖文教程

    mysql 5.7.16 winx64安裝配置方法圖文教程

    這篇文章主要為大家分享了mysql 5.7.16winx64安裝配置方法圖文教程,感興趣的朋友可以參考一下
    2016-11-11
  • MYSQL與sqlyog連接的實(shí)現(xiàn)

    MYSQL與sqlyog連接的實(shí)現(xiàn)

    本文主要介紹了MYSQL與sqlyog連接的實(shí)現(xiàn),文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-10-10
  • MySQL刪除表數(shù)據(jù)、清空表命令詳解(truncate、drop、delete區(qū)別)

    MySQL刪除表數(shù)據(jù)、清空表命令詳解(truncate、drop、delete區(qū)別)

    介紹了MySQL中清空或刪除表數(shù)據(jù)的三種方法:truncate、delete和drop,以及它們的特點(diǎn)、使用場景和注意事項(xiàng),Truncate用于快速刪除表中所有數(shù)據(jù)并釋放空間,但不保留表結(jié)構(gòu);delete用于刪除表中特定行或所有數(shù)據(jù),保留表結(jié)構(gòu)且操作可回滾
    2024-10-10
  • MySQL 覆蓋索引的優(yōu)點(diǎn)

    MySQL 覆蓋索引的優(yōu)點(diǎn)

    當(dāng)索引包含了所有查詢的數(shù)據(jù)時,這個索引就稱之為覆蓋索引。覆蓋索引能夠成為一個非常有力的工具并且能夠顯著改善性能,本文將具體講述覆蓋索引的優(yōu)點(diǎn)
    2021-05-05
  • 簡單講解sql語句中的group by的使用方法

    簡單講解sql語句中的group by的使用方法

    掌握sql語句中g(shù)roup by的使用方法會對我們的工作效率有很大的提升,下面小編來和大家一起簡單學(xué)習(xí)一下
    2019-05-05
  • MySQL中LIKE子句相關(guān)使用的學(xué)習(xí)教程

    MySQL中LIKE子句相關(guān)使用的學(xué)習(xí)教程

    這篇文章主要介紹了MySQL中LIKE子句相關(guān)使用的學(xué)習(xí)教程,LIKE子句一般用于WHERE語句中,需要的朋友可以參考下
    2015-12-12

最新評論