多表查詢 多表查詢 多表查詢

2021-10-25 10:32:12 字數 1256 閱讀 3297

查詢語法:

select

列表名稱

from

表明列表

where

…笛卡爾積:

有兩個集合a,b,取這兩個集合的所有組成情況

要完成多表查詢,需要消除無用的資料

多表查詢分類:

1、內連線查詢:

1、隱式內連線:使用where消除無用的資料

例子: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 表名1 join 表名2 on 條件;(inner可省略)

3、內連線查詢:

1、從哪些表查詢資料

2、條件是什麼

3、查詢哪些字段

2、外連線查詢:

1、左外連線:

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

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

2、右外連線:

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

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

3、子查詢:

概念:查詢中巢狀查詢,稱巢狀查詢為子查詢

select * from emp where emp.salary=(select max(salary) from emp);

子查詢不同情況:

1、子查詢的結果是單行單列的:

子查詢可以作為條件,使用運算子判斷:>、>=、=、<=、<

2、子查詢的結果是多行單列的:

使用運算子in來判斷

select * from emp where dept_id in(select id from dept where name='財務部『 or name=』市場部『);

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

子查詢可以作為一張虛擬表

查詢員工入職某日期之後的員工資訊和部門資訊

select * from dept t1,(select * from emp where emp.join_date>『2011-11-11』) t2 where t1.id=t2.dept_id;

mysql 多表查詢or MySQL 多表查詢

前期準備 建表create table dep id int,name varchar 20 create table emp id int primary key auto increment,name varchar 20 enum male female not null default ma...

查詢 多表查詢。。。

此時你得使用鏈結條件。通過存在於相對應列中的公共值,乙個表中的資料可以被另乙個表的資料鏈結,通常都是主鍵和外來鍵進行鏈結。一般鏈結條件寫在where子句裡。select empno,emp.deptno,loc from emp,dept where emp.deptno dept.deptno 對...

查詢 多表查詢

一.多表查詢 1.查詢語法 select 列名列表 from 表名列表 where 準備sql 2.例 select from 表1,表2 若1表有5 行資料,而2表有3行資料,就會查詢出來15行資料 這遵循了笛卡爾積準則 3.要完成多表查詢,需要消除無用的資料 二.多表查詢的分類 1.內連線查詢 ...