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

詳解MySQL多表查詢

 更新時(shí)間:2023年04月18日 14:16:23   作者:黑洞曉威  
最近學(xué)習(xí)了多表查詢,這篇文章主要給大家介紹了關(guān)于MySQL多表查詢,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下

??多表查詢

??內(nèi)連接查詢

  • 語(yǔ)法
-- 隱式內(nèi)連接
SELECT 字段列表 FROM 表1,表2… WHERE 條件;

-- 顯示內(nèi)連接
SELECT 字段列表 FROM 表1 [INNER] JOIN 表2 ON 條件;

內(nèi)連接相當(dāng)于查詢 A B 交集數(shù)據(jù)

  • 案例
    • 隱式內(nèi)連接
SELECT
	*
FROM
	emp,
	dept
WHERE
	emp.dep_id = dept.did;

執(zhí)行上述語(yǔ)句結(jié)果如下:

  • 查詢 emp的 name, gender,dept表的dname
SELECT
	emp. NAME,
	emp.gender,
	dept.dname
FROM
	emp,
	dept
WHERE
	emp.dep_id = dept.did;

執(zhí)行語(yǔ)句結(jié)果如下:

上面語(yǔ)句中使用表名指定字段所屬有點(diǎn)麻煩,sql也支持給表指別名,上述語(yǔ)句可以改進(jìn)為

SELECT
	t1. NAME,
	t1.gender,
	t2.dname
FROM
	emp t1,
	dept t2
WHERE
	t1.dep_id = t2.did;
  • 顯式內(nèi)連接
select * from emp inner join dept on emp.dep_id = dept.did;
-- 上面語(yǔ)句中的inner可以省略,可以書(shū)寫(xiě)為如下語(yǔ)句
select * from emp  join dept on emp.dep_id = dept.did;

執(zhí)行結(jié)果如下:

??外連接查詢

  • 語(yǔ)法
-- 左外連接
SELECT 字段列表 FROM 表1 LEFT [OUTER] JOIN 表2 ON 條件;

-- 右外連接
SELECT 字段列表 FROM 表1 RIGHT [OUTER] JOIN 表2 ON 條件;

左外連接:相當(dāng)于查詢A表所有數(shù)據(jù)和交集部分?jǐn)?shù)據(jù)

右外連接:相當(dāng)于查詢B表所有數(shù)據(jù)和交集部分?jǐn)?shù)據(jù)

 

  • 案例
    • 查詢emp表所有數(shù)據(jù)和對(duì)應(yīng)的部門(mén)信息(左外連接)
select * from emp left join dept on emp.dep_id = dept.did;

執(zhí)行語(yǔ)句結(jié)果如下:

結(jié)果顯示查詢到了左表(emp)中所有的數(shù)據(jù)及兩張表能關(guān)聯(lián)的數(shù)據(jù)。

  • 查詢dept表所有數(shù)據(jù)和對(duì)應(yīng)的員工信息(右外連接)
select * from emp right join dept on emp.dep_id = dept.did;

執(zhí)行語(yǔ)句結(jié)果如下:

結(jié)果顯示查詢到了右表(dept)中所有的數(shù)據(jù)及兩張表能關(guān)聯(lián)的數(shù)據(jù)。

要查詢出部門(mén)表中所有的數(shù)據(jù),也可以通過(guò)左外連接實(shí)現(xiàn),只需要將兩個(gè)表的位置進(jìn)行互換:

select * from dept left join emp on emp.dep_id = dept.did;

??子查詢

  • 概念

    查詢中嵌套查詢,稱(chēng)嵌套查詢?yōu)樽硬樵儭?/p>

    什么是查詢中嵌套查詢呢?我們通過(guò)一個(gè)例子來(lái)看:

    需求:查詢工資高于豬八戒的員工信息。

    來(lái)實(shí)現(xiàn)這個(gè)需求,我們就可以通過(guò)二步實(shí)現(xiàn),第一步:先查詢出來(lái) 豬八戒的工資

select salary from emp where name = '豬八戒'

第一步:查詢工資高于豬八戒的員工信息

select * from emp where salary > 3600;

第二步中的3600可以通過(guò)第一步的sql查詢出來(lái),所以將3600用第一步的sql語(yǔ)句進(jìn)行替換

select * from emp where salary > (select salary from emp where name = '豬八戒');

這就是查詢語(yǔ)句中嵌套查詢語(yǔ)句。

  • 子查詢根據(jù)查詢結(jié)果不同,作用不同
    • 子查詢語(yǔ)句結(jié)果是單行單列,子查詢語(yǔ)句作為條件值,使用 = != > < 等進(jìn)行條件判斷
    • 子查詢語(yǔ)句結(jié)果是多行單列,子查詢語(yǔ)句作為條件值,使用 in 等關(guān)鍵字進(jìn)行條件判斷
    • 子查詢語(yǔ)句結(jié)果是多行多列,子查詢語(yǔ)句作為虛擬表
  • 案例
    • 查詢 ‘財(cái)務(wù)部’ 和 ‘市場(chǎng)部’ 所有的員工信息
-- 查詢 '財(cái)務(wù)部' 或者 '市場(chǎng)部' 所有的員工的部門(mén)did
select did from dept where dname = '財(cái)務(wù)部' or dname = '市場(chǎng)部';

select * from emp where dep_id in (select did from dept where dname = '財(cái)務(wù)部' or dname = '市場(chǎng)部');
  • 查詢?nèi)肼毴掌谑?‘2011-11-11’ 之后的員工信息和部門(mén)信息
-- 查詢?nèi)肼毴掌谑?'2011-11-11' 之后的員工信息
select * from emp where join_date > '2011-11-11' ;
-- 將上面語(yǔ)句的結(jié)果作為虛擬表和dept表進(jìn)行內(nèi)連接查詢
select * from (select * from emp where join_date > '2011-11-11' ) t1, dept where t1.dep_id = dept.did;

最后說(shuō)一句

感謝大家的閱讀,文章通過(guò)網(wǎng)絡(luò)資源與自己的學(xué)習(xí)過(guò)程整理出來(lái),希望能幫助到大家。

才疏學(xué)淺,難免會(huì)有紕漏,如果你發(fā)現(xiàn)了錯(cuò)誤的地方,可以提出來(lái),我會(huì)對(duì)其加以修改。

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

相關(guān)文章

  • MySQL新建用戶中的%到底包不包括localhost?

    MySQL新建用戶中的%到底包不包括localhost?

    操作MySQL的時(shí)候發(fā)現(xiàn),有時(shí)只建了%的賬號(hào),可以通過(guò)localhost連接,有時(shí)候卻不可以,網(wǎng)上搜索也找不到滿意的答案,干脆手動(dòng)測(cè)試一波
    2019-02-02
  • MySQL中的隨機(jī)抽取的實(shí)現(xiàn)

    MySQL中的隨機(jī)抽取的實(shí)現(xiàn)

    本文主要介紹了MySQL中的隨機(jī)抽取的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • SQL語(yǔ)句實(shí)現(xiàn)多表查詢

    SQL語(yǔ)句實(shí)現(xiàn)多表查詢

    這篇文章主要介紹了SQL語(yǔ)句實(shí)現(xiàn)多表查詢,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參一下下面文章詳細(xì)內(nèi)容
    2022-07-07
  • Mysql循環(huán)插入數(shù)據(jù)的實(shí)現(xiàn)

    Mysql循環(huán)插入數(shù)據(jù)的實(shí)現(xiàn)

    這篇文章主要介紹了Mysql循環(huán)插入數(shù)據(jù)的實(shí)現(xiàn)過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • MAC下Mysql5.7.10版本修改root密碼的方法

    MAC下Mysql5.7.10版本修改root密碼的方法

    這篇文章主要介紹了MAC下Mysql5.7.10版本修改root密碼的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-03-03
  • MySQL存儲(chǔ)過(guò)程中sql語(yǔ)句條件的in無(wú)效問(wèn)題及解決

    MySQL存儲(chǔ)過(guò)程中sql語(yǔ)句條件的in無(wú)效問(wèn)題及解決

    這篇文章主要介紹了MySQL存儲(chǔ)過(guò)程中sql語(yǔ)句條件的in無(wú)效問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 詳解MySQL中的視圖

    詳解MySQL中的視圖

    視圖是一個(gè)虛擬表,非真實(shí)存在,其本質(zhì)是根據(jù)SQL語(yǔ)句獲取動(dòng)態(tài)的數(shù)據(jù)集,并為其命名,用戶使用時(shí)只需使用視圖名稱(chēng)即可獲取結(jié)果集,并可以將其當(dāng)作表來(lái)使用,這篇文章主要介紹了MySQL的視圖,需要的朋友可以參考下
    2022-12-12
  • MySql獲取當(dāng)前時(shí)間并轉(zhuǎn)換成字符串的實(shí)現(xiàn)

    MySql獲取當(dāng)前時(shí)間并轉(zhuǎn)換成字符串的實(shí)現(xiàn)

    本文主要介紹了MySql獲取當(dāng)前時(shí)間并轉(zhuǎn)換成字符串的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Mysql深入了解聯(lián)表查詢的特點(diǎn)

    Mysql深入了解聯(lián)表查詢的特點(diǎn)

    這篇文章主要給大家介紹了關(guān)于MySQL聯(lián)表查詢的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Mysql中實(shí)現(xiàn)修改主鍵自增值

    Mysql中實(shí)現(xiàn)修改主鍵自增值

    這篇文章主要介紹了Mysql中實(shí)現(xiàn)修改主鍵自增值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07

最新評(píng)論