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

MySQL 表的內(nèi)外連接案例詳解

 更新時(shí)間:2025年06月04日 10:56:03   作者:英雄不問出處~  
本文給大家介紹MySQL表的內(nèi)外連接,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧

表的內(nèi)外連接(重點(diǎn))

內(nèi)連接

內(nèi)連接實(shí)際上就是利用where子句對兩種表形成的笛卡兒積進(jìn)行篩選,我們前面學(xué)習(xí)的查詢都是內(nèi)連接,也是在開發(fā)過程中使用的最多的連接查詢。

語法

select * from 表1 inner join 表2 on 連接條件 and 其他條件;

案例
顯示SMITH的名字和部門名稱

// 第一種,對兩張表做笛卡爾積
select ename,dname from emp,dept where emp.deptno=dept.deptno and ename='SMITH';
// 第二種,內(nèi)連接
select ename,dname from emp inner join dept on emp.deptno=dept.deptno where ename='SMITH';

外連接

左外連接

左外連接,左側(cè)表的數(shù)據(jù)完全保留,右側(cè)如果沒有數(shù)據(jù),對應(yīng)的右側(cè)就全為空

語法
select * from 表名1 left join 表名2 on 連接條件

案例

// 見兩張表
學(xué)生表
create table stu(
id int,
varchar(30)
);
插入信息
insert into stu values(1,'jack'),(2,'tom'),(3,'kity'),(4,'nono');
成績表
create table exam(
id int,
grade int
);
插入信息
insert into exam values(1, 56),(2,76),(11, 8);

查詢所有學(xué)生的成績,如果這個學(xué)生沒有成績,也要將學(xué)生的個人信息顯示出來

select * from stu left join exam on stu.id=exam.id;

右外連接

右外連接,右側(cè)表的數(shù)據(jù)完全保留,左側(cè)如果沒有數(shù)據(jù),對應(yīng)的左側(cè)就全為空

語法
select 字段 from 表名1 right join 表名2 on 連接條件;

案例
對stu表和exam表聯(lián)合查詢,把所有的成績都顯示出來,即使這個成績沒有學(xué)生與它對應(yīng),也要顯示出來

select * from stu right join exam on stu.id=exam.id;

其實(shí)左外連接也可以達(dá)到右外連接的目的

列出部門名稱和這些部門的員工信息,同時(shí)列出沒有員工的部門

// 左外連接
select * from dept left join emp on dept.deptno=emp.deptno;
select * from dept left join emp on dept.deptno=emp.deptno order by dept.deptno asc;
// 右外連接
select * from emp right join dept on dept.deptno=emp.deptno;

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

相關(guān)文章

  • MySQL中使用PROFILING來查看SQL執(zhí)行流程的實(shí)現(xiàn)步驟

    MySQL中使用PROFILING來查看SQL執(zhí)行流程的實(shí)現(xiàn)步驟

    在MySQL中,PROFILING功能提供了一種方式來分析SQL語句的執(zhí)行時(shí)間,包括查詢執(zhí)行的各個階段,如發(fā)送、解析、優(yōu)化、執(zhí)行等,這對于診斷性能問題非常有用,本文給大家介紹了MySQL中使用PROFILING來查看SQL執(zhí)行流程的實(shí)現(xiàn)步驟,需要的朋友可以參考下
    2024-07-07
  • 使用MySQL實(shí)現(xiàn)select?into臨時(shí)表的功能

    使用MySQL實(shí)現(xiàn)select?into臨時(shí)表的功能

    這篇文章主要介紹了使用MySQL實(shí)現(xiàn)select?into臨時(shí)表的功能,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • MySQL架構(gòu)體系知識點(diǎn)總結(jié)

    MySQL架構(gòu)體系知識點(diǎn)總結(jié)

    在本篇內(nèi)容里我們給大家整理了關(guān)于MySQL架構(gòu)體系的相關(guān)知識點(diǎn)內(nèi)容以及相關(guān)實(shí)例,需要的朋友們學(xué)習(xí)下。
    2019-02-02
  • MySQL深入詳解delete與Truncate及drop的使用區(qū)別

    MySQL深入詳解delete與Truncate及drop的使用區(qū)別

    對于drop、truncate和delete雖然簡單,但是真要使用或者面試時(shí)候問到還是需要有一定的總結(jié),下面這篇文章主要給大家介紹了關(guān)于mysql中drop、truncate與delete區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • MySQL時(shí)間盲注的五種延時(shí)方法實(shí)現(xiàn)

    MySQL時(shí)間盲注的五種延時(shí)方法實(shí)現(xiàn)

    MySQL時(shí)間盲注主要有五種,sleep(),benchmark(t,exp),笛卡爾積,GET_LOCK() RLIKE正則,本文就主要介紹了這五種方法,感興趣的可以了解一下
    2021-05-05
  • 快速實(shí)現(xiàn)MySQL的部署以及一機(jī)多實(shí)例部署

    快速實(shí)現(xiàn)MySQL的部署以及一機(jī)多實(shí)例部署

    這篇文章主要為大家詳細(xì)介紹了快速實(shí)現(xiàn)MySQL的部署以及一機(jī)多實(shí)例部署的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-04-04
  • 如何解決mysql執(zhí)行導(dǎo)入sql文件速度太慢的問題

    如何解決mysql執(zhí)行導(dǎo)入sql文件速度太慢的問題

    文章介紹了一種通過修改MySQL導(dǎo)出命令參數(shù)來優(yōu)化大SQL文件導(dǎo)入速度的方法,通過對比目標(biāo)庫和導(dǎo)出庫的參數(shù)值,并使用優(yōu)化后的參數(shù)進(jìn)行導(dǎo)出,再在目標(biāo)庫導(dǎo)入,顯著提高了導(dǎo)入速度
    2024-11-11
  • MySql死鎖排查的問題解決

    MySql死鎖排查的問題解決

    本文主要介紹了MySQL死鎖的排查方法和解決方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • Mysql主從GTID與binlog的區(qū)別及說明

    Mysql主從GTID與binlog的區(qū)別及說明

    MySQL GTID(全局事務(wù)標(biāo)識符)與binlog(二進(jìn)制日志)是搭建主從復(fù)制的兩種機(jī)制,GTID為每個事務(wù)分配唯一標(biāo)識,確保復(fù)制無數(shù)據(jù)沖突或丟失,便于復(fù)制配置和管理;binlog記錄所有數(shù)據(jù)庫更改,用于數(shù)據(jù)恢復(fù)和復(fù)制,GTID基于事務(wù)標(biāo)識
    2024-10-10
  • MYSQL慢查詢和日志實(shí)例講解

    MYSQL慢查詢和日志實(shí)例講解

    這篇文章主要介紹了MYSQL慢查詢和日志實(shí)例講解,有對這方面感興趣的同學(xué)可以研究學(xué)習(xí)下
    2021-02-02

最新評論