MySQL 表的內(nèi)外連接案例詳解
表的內(nèi)外連接(重點)
內(nèi)連接
內(nèi)連接實際上就是利用where子句對兩種表形成的笛卡兒積進行篩選,我們前面學習的查詢都是內(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ù),對應的右側(cè)就全為空
語法
select * from 表名1 left join 表名2 on 連接條件
案例
// 見兩張表 學生表 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);
查詢所有學生的成績,如果這個學生沒有成績,也要將學生的個人信息顯示出來
select * from stu left join exam on stu.id=exam.id;
右外連接
右外連接,右側(cè)表的數(shù)據(jù)完全保留,左側(cè)如果沒有數(shù)據(jù),對應的左側(cè)就全為空
語法
select 字段 from 表名1 right join 表名2 on 連接條件;
案例
對stu表和exam表聯(lián)合查詢,把所有的成績都顯示出來,即使這個成績沒有學生與它對應,也要顯示出來
select * from stu right join exam on stu.id=exam.id;
其實左外連接也可以達到右外連接的目的
列出部門名稱和這些部門的員工信息,同時列出沒有員工的部門
// 左外連接 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;
到此這篇關于MySQL 表的內(nèi)外連接的文章就介紹到這了,更多相關MySQL 表的內(nèi)外連接內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
MySQL中使用PROFILING來查看SQL執(zhí)行流程的實現(xiàn)步驟
在MySQL中,PROFILING功能提供了一種方式來分析SQL語句的執(zhí)行時間,包括查詢執(zhí)行的各個階段,如發(fā)送、解析、優(yōu)化、執(zhí)行等,這對于診斷性能問題非常有用,本文給大家介紹了MySQL中使用PROFILING來查看SQL執(zhí)行流程的實現(xiàn)步驟,需要的朋友可以參考下2024-07-07使用MySQL實現(xiàn)select?into臨時表的功能
這篇文章主要介紹了使用MySQL實現(xiàn)select?into臨時表的功能,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09MySQL深入詳解delete與Truncate及drop的使用區(qū)別
對于drop、truncate和delete雖然簡單,但是真要使用或者面試時候問到還是需要有一定的總結(jié),下面這篇文章主要給大家介紹了關于mysql中drop、truncate與delete區(qū)別的相關資料,需要的朋友可以參考下2022-07-07如何解決mysql執(zhí)行導入sql文件速度太慢的問題
文章介紹了一種通過修改MySQL導出命令參數(shù)來優(yōu)化大SQL文件導入速度的方法,通過對比目標庫和導出庫的參數(shù)值,并使用優(yōu)化后的參數(shù)進行導出,再在目標庫導入,顯著提高了導入速度2024-11-11