MySql之多表查詢

2021-07-27 22:34:38 字數 1326 閱讀 2173

select 

e.empname,

d.`deptname`

from

emp e,

dept d

where e.`deptno` = d.`deptno` ;

select 

e.`empname`,

d.`deptname`

from

emp e

inner join dept d

on e.`deptno` = d.`deptno` ;

select 

e.`empname`,

d.`deptname`

from

emp e natural

join dept d ;

select 

e.`empname`,

d.`deptname`

from

emp e

left outer join dept d

on e.`deptno` = d.`deptno` ;

select 

e.`empname`,

d.`deptname`

from

emp e

right outer join dept d

on e.`deptno` = d.`deptno` ;

查詢中有查詢(檢視select關鍵字的個數)

一種為where後作為條件存在,另一種為from後作為表存在(多行多列)

ⅰ.單行單列:select   *    from   表1   別名1    where    列1    [>    <    =   >=   <=   != ]  (select  列   from   表2    別名2    where    條件)

ⅱ.多行單列:select   *    from   表1   別名1    where    列1    [in   any    all ]  (select  列   from   表2    別名2    where    條件)

ⅲ.單行多列:select   *    from   表1   別名1    where    (列1   列2)   in  (select  (列1,列2)   from   表2    別名2    where    條件)

ⅵ.多行多列:select   *    from   表1   別名1    ,(select ......)    別名2    where    條件

MySQL之多表查詢

1合併結果集,使用關鍵字union和union all,其區別是union會去掉合併中重複的部分而union all不會去掉重複的列。使用這個關鍵字的要求結果姐的列和型別必須相同。定義兩個表如下所示 a和b,兩個表分別有乙個整型的id和乙個字串的name。1.1使用union all 1.2使用un...

MySQL之多表查詢

準備資料 user info表 create table user info id int 2 primary key,user name varchar 12 unique,password varchar 15 not null,real name varchar 8 not null,age ...

MySQL之多表查詢

現在有兩個表,分別為department表和employee表,他們之間是沒有外來鍵關係的。兩個表分別有以下資料。我們可以通過笛卡爾積得到乙個新的虛擬的表。我們得到這個表之後,就可以用這錶取我們想要的資料。比如拿到技術部門的員工名字 其實鍊錶查詢和笛卡爾積差不多,只是笛卡爾積的鍊錶和查詢放在了一起,...