MySQL資料庫基礎知識學習筆記(二)

來源:互聯網
上載者:User

標籤:內串連   左串連   右串連   子串連   

sql語句實戰--表串連 (多表查詢)

標準SQL語句格式有以下4種:

ü 表內串連

Select col1,col2...from tab1,tab2 where tab1.col3=tab2.col3;

 Col1 列名  tab1表名  where tab1.col3=tab2.col3 串連條件

ü 表外串連(分兩種)

左串連

Select col1,col2... from tab1 left join tab2 on tab1.col3=tab2.col3;

右串連

Select col1,col2... from tab1 right join tab2 on tab1.col3=tab2.col3;

ü 子查詢

Select *from tab1 where col[in]|[=](select *from tab2 where col ...);


實戰情境:建立兩個表,並插入規定的資料,利用這兩個表,練習表的串連(內,左,右,子)                                    


1) 建立表A:

Create table A

(id smallint(5) unsigned auto_increment,

Name varchar(50) not null,

Primary key (id)

) engine=innodb default charset=utf8;

Desc  A;

執行結果:

 

可見有id和name兩個欄位。

 

2) 建立表B:

Create table B

(id smallint(5) unsigned auto_increment,

Address  varchar(50) not null,

A_id smallint(5) unsigned,

Primary key (id)

) engine=innodb default charset=utf8;

Desc  B;

 

解釋:A_id表示和A關聯的ID


執行結果:

 

可見有id、address、A_id三個欄位

 

3) 往A表裡插資料:

Insert  into  A(name)

Values('張'),('李'),('王');

 

執行結果:

 


4) 往B表裡插資料:

Insert  into  B(address,A_id)

Values('北京',1),('上海',3),('天津',10);

執行結果:

 

 

5) 執行內串連語句(首推此語句)

Select A.name, B.address from A,B where A.id = B.A_id;

解釋:尋找A表裡的name欄位和B表裡的address欄位,條件是A表裡的id欄位和B表裡的A_id欄位做串連。

 

執行結果:

 

6) 執行左串連語句

Select A.name, B.address from A left join B on A.id = B.A_id;

解釋:左串連是以左側的列為主,右側的列去匹配左側的,如果匹配不上,則為空白;

執行結果:

 

從結果可以看出,右側的第三行address沒有匹配上,所以為空白。


7) 執行右串連語句

Select A.name, B.address from A right join B on A.id = B.A_id;

解釋:右串連是以右側的列為主,左側的列去匹配右側的,如果匹配不上,則為空白;

執行結果:

 

從結果可以看出,左側的第三行name沒有匹配上,所以為空白。

 

8) 子查詢語句

Select * from A where id in (select A_id from B where address = ‘北京’);

解釋:括弧裡的意思是從B表裡找address是北京的對應的A_id,

然後再和A表的id去匹配。




MySQL資料庫基礎知識學習筆記(二)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.