CREATE TABLE A
創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括立山網(wǎng)站建設(shè)、立山網(wǎng)站制作、立山網(wǎng)頁制作以及立山網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,立山網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到立山省份的部分城市,未來相信會繼續(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');
查詢下面的語句:
select * from A ,B where A.ID=B.ID;
要點(diǎn):left
join,right
join,inner
join
首先有如下兩個表:
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)然,也可以看出左連接也可以寫成右連接的形式:
select
student.name,quiz.score
from
student
right
join
quiz
on
student.id=quiz.id等價于
select
student.name,quiz.score
from
quiz
left
join
student
on
student.id=quiz.id
MySQL在多個數(shù)據(jù)表上創(chuàng)建視圖
在MySQL中,使用CREATE VIEW語句也可以在兩個或兩個以上的數(shù)據(jù)表上創(chuàng)建視圖。
實(shí)例
在department表和worker表上創(chuàng)建一個名為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在多個數(shù)據(jù)表上創(chuàng)建視圖的操作效果。如下圖所示:
在DOS提示符窗口中查看MySQL在多個數(shù)據(jù)表上創(chuàng)建視圖的操作效果
從上圖中可以看出,代碼的執(zhí)行結(jié)果顯示視圖創(chuàng)建成功。
2. 使用DESC語句查詢虛擬表的結(jié)構(gòu)。如下圖所示:
使用DESC語句查詢虛擬表的結(jié)構(gòu)
從上圖中可以看出,視圖worker_view1的屬性分別為name、department、sex、age和location。
視圖指定的屬性列表對應(yīng)著兩個不同的表的屬性列(字段)。
視圖的屬性名與屬性列表中的屬性名相同。
該實(shí)例中的SELECT語句查詢出了department表的d_name字段,還有worker表的name、sex、birthday和address。其中,department表的d_name字段對應(yīng)視圖的department字段;worker表的birthday字段對應(yīng)視圖的age字段。
同時,視圖worker_view1的ALGORITHM的值指定為MERGE。還增加了WITH LOCAL CHECK OPTION約束。
本示例說明,視圖可以將多個表上的操作簡潔的表示出來。
提示
同時在多個表上創(chuàng)建視圖是非常有用的。比如,系統(tǒng)中有student表、department表、score表和grade表,分別存儲學(xué)生的信息、院系信息、課程信息和成績信息??梢栽谶@4個表上創(chuàng)建一個視圖,用來顯示學(xué)生姓名、學(xué)號、班級、院系、所選課程和課程成績。
寫存儲過程函數(shù)(如function cleanTable),在函數(shù)中寫50條delete語句,或者在函數(shù)中弄個循環(huán)都可以。然后在客戶端執(zhí)行call cleanTable()就可以了。