CREATE TABLE A
創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括立山網(wǎng)站建設(shè)、立山網(wǎng)站制作、立山網(wǎng)頁(yè)制作以及立山網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,立山網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到立山省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
(`id` int, `title` varchar(2));
INSERT INTO A
(`id`, `title`)
VALUES
(1, 'ab'),
(2, 'cd') ;
CREATE TABLE B
(`id` int, `author` varchar(5));
INSERT INTO B
(`id`, `author`)
VALUES
(1, 'zhang'),
(2, 'rui'),
(3, 'gang');
查詢下面的語(yǔ)句:
select * from A ,B where A.ID=B.ID;
要點(diǎn):left
join,right
join,inner
join
首先有如下兩個(gè)表:
student:
id(int)
name(nvarchar)
1
a
2
b
3
c
4
d
5
e
6
f
quiz:
id(int)
score(int)
1
60
2
70
4
80
6
90
8
100
9
30
內(nèi)連接:(inner
join)包括連接表的匹配行
select
student.name,quiz.score
from
quiz
inner
join
student
on
student.id=quiz.id
name
score
a
60
b
70
d
80
f
90
左連接:(left
join)包括連接表匹配行以及左連接表的所有行
select
student.name,quiz.score
from
student
left
join
quiz
on
student.id=quiz.id
name
score
a
60
b
70
c
null
d
80
e
null
f
90
右連接:(right
join)結(jié)果包括連接表的匹配行以及右連接表的所有行
select
student.name,quiz.score
from
student
right
join
quiz
on
student.id=quiz.id
name
score
a
60
b
70
d
80
f
90
null
100
null
30
當(dāng)然,也可以看出左連接也可以寫(xiě)成右連接的形式:
select
student.name,quiz.score
from
student
right
join
quiz
on
student.id=quiz.id等價(jià)于
select
student.name,quiz.score
from
quiz
left
join
student
on
student.id=quiz.id
MySQL在多個(gè)數(shù)據(jù)表上創(chuàng)建視圖
在MySQL中,使用CREATE VIEW語(yǔ)句也可以在兩個(gè)或兩個(gè)以上的數(shù)據(jù)表上創(chuàng)建視圖。
實(shí)例
在department表和worker表上創(chuàng)建一個(gè)名為worker_view1的視圖。
1. 創(chuàng)建視圖的代碼如下:
CREATE ALGORITHM=MERGE VIEW
worker_view1(name,department,sex,age,location)
AS SELECT name,department.d_name,sex,birthday,address
FROM worker,department WHERE worker.d_id=department.d_id
WITH LOCAL CHECK OPTION;
在DOS提示符窗口中查看MySQL在多個(gè)數(shù)據(jù)表上創(chuàng)建視圖的操作效果。如下圖所示:
在DOS提示符窗口中查看MySQL在多個(gè)數(shù)據(jù)表上創(chuàng)建視圖的操作效果
從上圖中可以看出,代碼的執(zhí)行結(jié)果顯示視圖創(chuàng)建成功。
2. 使用DESC語(yǔ)句查詢虛擬表的結(jié)構(gòu)。如下圖所示:
使用DESC語(yǔ)句查詢虛擬表的結(jié)構(gòu)
從上圖中可以看出,視圖worker_view1的屬性分別為name、department、sex、age和location。
視圖指定的屬性列表對(duì)應(yīng)著兩個(gè)不同的表的屬性列(字段)。
視圖的屬性名與屬性列表中的屬性名相同。
該實(shí)例中的SELECT語(yǔ)句查詢出了department表的d_name字段,還有worker表的name、sex、birthday和address。其中,department表的d_name字段對(duì)應(yīng)視圖的department字段;worker表的birthday字段對(duì)應(yīng)視圖的age字段。
同時(shí),視圖worker_view1的ALGORITHM的值指定為MERGE。還增加了WITH LOCAL CHECK OPTION約束。
本示例說(shuō)明,視圖可以將多個(gè)表上的操作簡(jiǎn)潔的表示出來(lái)。
提示
同時(shí)在多個(gè)表上創(chuàng)建視圖是非常有用的。比如,系統(tǒng)中有student表、department表、score表和grade表,分別存儲(chǔ)學(xué)生的信息、院系信息、課程信息和成績(jī)信息??梢栽谶@4個(gè)表上創(chuàng)建一個(gè)視圖,用來(lái)顯示學(xué)生姓名、學(xué)號(hào)、班級(jí)、院系、所選課程和課程成績(jī)。
寫(xiě)存儲(chǔ)過(guò)程函數(shù)(如function cleanTable),在函數(shù)中寫(xiě)50條delete語(yǔ)句,或者在函數(shù)中弄個(gè)循環(huán)都可以。然后在客戶端執(zhí)行call cleanTable()就可以了。
文章題目:mysql怎么多表操作,mysql 多表連接
轉(zhuǎn)載注明:http://www.muchs.cn/article36/hssisg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、網(wǎng)站設(shè)計(jì)、自適應(yīng)網(wǎng)站、Google、網(wǎng)頁(yè)設(shè)計(jì)公司、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)