mysql 連線2表資料 資料庫兩表連線四種方法

2021-10-19 02:23:25 字數 1387 閱讀 1600

一般我們連線兩張表時,都是select ***,xx from x1,x2 where x1.a=x2.a。其實資料庫還有4中join操作。

例如:表1:

student

s_id

name

***張三男李四

女王五男錶2:

class

c_id

idname

1.連線查詢

select s.name s_name,s.*** s_***,c.name c_name

from student s,class c

where s.s_id=c.s_id

結果:s_name

s_***

c_name張三男

李四女李四男

2.inner join

select s.name s_name,s.*** s_***,c.name c_name

from student s inner join class c on s.s_id=c.s_id

結果:s_name

s_***

c_name張三男

李四女李四女

可以看出inner join 和我們直接連線查詢沒什麼差別!

3.left join

select s.name s_name,s.*** s_***,c.name c_name

from student s left join class c on s.s_id=c.s_id

結果:s_name

s_***

c_name張三男

李四女李四女

王五男4.right join

select s.name s_name,s.*** s_***,c.name c_name

from student s right join class c on s.s_id=c.s_id

結果:s_name

s_***

c_name張三男

李四女李四女

5.full join

select s.name s_name,s.*** s_***,c.name c_name

from student s full join class c on s.s_id=c.s_id

結果:s_name

s_***

c_name張三男

李四女王五男

李四女綜上可以看出:

普通連線和 inner join連線沒什麼差別!

left join:左表所有行都輸出,如果找不到右表對應字段,即該字段為null

right join:右表所有行都輸出,如果找不到左表對應字段,即該字段為null

full join:左右錶行全部對應輸出,如果找不到對應字段,即為null

2 資料庫連線

1.註冊驅動 class.forname com.mysql.cj.jdbc.driver 對於我的電腦為mysql8.0版本的2.建立連線 connection connection null string url jdbc mysql localhost 3306 grade user root...

MySQL資料庫2 建立表

1.建立表的語法形式 create table 表名 屬性名 資料型別 完整性約束條件 屬性名 資料型別 完整性約束條件 屬性名 資料型別 表名表示所要建立表的名稱,屬性名表示表中字段的名稱,資料型別表示指定 欄位的資料型別,注 1 表名不能為sql關鍵字,如create,updata,order,...

mysql表連線例項 mysql資料庫表的連線例項

一般所說的左連線,是指左,右。先說左外連線和右外連線 sql select from t1 id name 1 aaa 2 bbb sql select from t2 id age 1 20 3 30 左外連線 object object sql select from t1 left join ...