MySQL中多表查詢的分類

2021-09-25 15:33:52 字數 1390 閱讀 2973

##內連線查詢:

(1).隱式內連線:使用where條件消除無用的資料

*例子:

-- 查詢所有員工資訊和對應的部門資訊

select * from emp,dept where emp.`dept_id` = dept.`id`;

-- 查詢員工表的名稱,性別。部門表的名稱

select emp.name,emp.gender,dept.name from emp,dept where emp.`dept_id` = dept.`id`;

select

t1.name, -- 員工表的姓名

t1.gender,-- 員工表的性別

t2.name -- 部門表的名稱

from

emp t1,

dept t2

where

t1.`dept_id` = t2.`id`;

(2).顯式內連線:

* 語法: select 字段列表 from 表名1 [inner] join 表名2 on 條件

* * 例如:

select * from emp inner join dept on emp.dept_id= dept.id;

select * from emp join dept on emp.dept_id= dept.id;

左外連線:

* 語法:select 字段列表 from 表1 left [outer] join 表2 on 條件;

* 查詢的是左表所有資料以及其交集部分。

* 例子:

– 查詢所有員工資訊,如果員工有部門,則查詢部門名稱,沒有部門,則不顯示部門名稱

select t1.*,t2.namefrom emp t1 left join dept t2 on t1.dept_id= t2.id;

右外連線:

* 語法:select 字段列表 from 表1 right [outer] join 表2 on 條件;

* 查詢的是右表所有資料以及其交集部分。

* 例子:

select * from dept t2 right join emp t1 on t1.dept_id= t2.id;

子查詢的結果是多行多列的:

– 普通內連線

select * from emp t1,dept t2 where t1.dept_id= t2.idand t1.join_date> 『2011-11-11』

mySQL連線查詢(多表查詢)的分類

連線查詢分類 按照分類 1 內連線 2 外連線 3 交叉連線 說明 sql分92版本和99版本,92版本值包含 1 內連線 而99版本包含上面所有,且99版本的 1 內連線 於92版本有所不同 一 92版本格式 select 查詢列表 from 表1 別名,表2 別名 where 鏈結條件1 and...

Mysql 中多表查詢

即mysql中的交叉查詢 內連線 左連線 右連線 聯合查詢 全連線。交叉查詢 cross join 我們現在以這兩張表為例 剛剛我們是通過兩條語句來查詢的兩張表,現在我們嘗試著用一條語句來查詢這兩張表 上圖中,我們看到我們查詢出來了,語句中並沒有新增別的附加條件,仔細觀察課可以發現,這兩張表中的每一...

017 mySQL多表查詢(連續查詢) 分類

一 概念 笛卡爾積 有兩個表a b,取這兩個表所有有可能組成情況。笛卡爾積會產生很多無用資料,需要消除無用資料。二 分類 1 內連線 2 外連線 3 交叉連線 子查詢 說明 sql分92版本和99版本,92版本值包含 1 內連線 而99版本包含上面所有,且99版本的 1 內連線 於92版本有所不同 ...