mysql 連線關係介紹

2021-09-19 18:58:26 字數 1599 閱讀 5244

交叉連線(cross join)

交叉連線指的是兩張或多張表進行的笛卡爾積

兩張或多張表中每一行的資料任意組合的結果

語法:select 查詢內容 from table1 cross join table2

emp和dept 表進行交叉連線

select * from emp cross join dept

總記錄數= emp記錄數 * dept記錄數 13*4=56 emp的13行記錄數與dept4行資料都進行一次匹配

自然連線(natural join)

有相同欄位的兩個表進行連線會自動去除重複欄位列,可以使用where 條件查詢

語法 select * from emp natural join dept;

兩個表必須有相同的字段 自然連線後會自動去重複字段

內連線;是使用頻率最高的連線查詢操作,在兩張或 多張表生成的笛卡兒積記錄中篩選出與連線條件相匹配的資料記錄,過濾掉不匹配的記錄。

select from table1 ,table2 where 關聯條件

select * from emp as e,dept as d where e.deptno=d.deptno

sql99 inner join 可以省略為 join

select 查詢內容 from table inner join table2 on 關聯條件

select e.*,e.ename from emp e inner join dept d on e.deptno = d.deptno where deptno=30

自連線 :連線的兩張表是同一張表

select from emp e,emp m where e.mgrm.empno

select e.empno,e.ename,e.sal,e.mgr,m.empno,m.ename

select e.empno ,e.ename,e.sal,e.mgr,m.empno,m.ename,m.sal from emp e join emp m on e.mgr = m.empno

外連線:不僅要查詢兩張或多張表中滿足條件的記錄,還要查詢其中某張表中不滿足連線條件的記錄

按照不匹配記錄**的不同可以將外連線分為左外連線和右外連線。

select * from emp e,dept d where e.deptno = d.deptno;。

要查詢雇員資訊及雇員所在部門資訊,沒有雇員的部門也要顯示

select 查詢的內容 from table left|right [outer] join table2 on 連線條件

left join :左外連線 將放到left join 左邊表中不滿足條件的記錄也顯示

right join 右外連線 將放到ringt join 右邊表中不滿足條件的記錄也顯示

例如:查詢雇員資訊 及雇員所在部門資訊 沒有雇員的部門也要顯示

left join 左外連線

select * from dept d left join emp e on e.deptno = d.deptno

ringt join 右外連線

select * from emp e right join dept d on e.deptno = d.deptno

常見的鏈結關係

alternate 文件的可選版本 例如列印頁 翻譯頁或映象 stylesheet 文件的外部樣式表 start 集合中的第乙個文件 next 集合中的下乙個文件 prev 集合中的前乙個文件 contents 文件目錄 index 文件索引 glossary 文件中所用字詞的術語表或解釋 包含版權...

3 5mm音訊插頭的引腳連線關係

板子上用了3.5mm音訊插座作為喇叭 speaker 和麥克風 mic 插入介面。都是從以前同事板子上抄下來的電路,因為是靠譜的硬體電路,沒仔細看過。現在用第三方晶元時,突然說,可能要將喇叭 speaker 電路輸入上接上麥克風 mic 試試。有點暈,不太適應。麥克風電路是好使的,如果我啥也不改線,...

php連線關閉資料庫mysql

連線和關閉資料庫 連線資料庫 永久連線 關閉資料庫 連線資料庫 php可以呼叫 mysql connect 函式連線乙個 mysql 伺服器,其結構形式為 mysql connect hostname,username,password 其中,hostname 是mysql 伺服器的主機名,user...