多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 數據庫 > 數據庫應用 > 【Mysql】利用內連接與嵌套查詢實現多表查詢,主鍵、外鍵的基本概念

【Mysql】利用內連接與嵌套查詢實現多表查詢,主鍵、外鍵的基本概念

來源:程序員人生   發布時間:2015-03-11 08:38:55 閱讀次數:5090次

雖然多表查詢,在計算機的必須課,數據庫,里面已大講特講,但是這個難點很多老師都沒有講深講透。跟你凈扯1大堆,左連接右連接的東西,讓人1頭霧水。老師把所有多表查詢的方法告知你,但是到頭來1種方法都沒有掌握。其實只要記住1種就夠了,學會多表查詢,除在你考數據庫能夠拿到很高分以外,到了實際利用,很多地方都用到多表查詢。比如論壇工程中分析回帖發帖的關系,提供該用戶發了甚么帖子的功能、比如信息管理系統中,分析班級與學生、老師之間的關系,提供該班級中存在多少學生的查詢功能。就需要用到多表查詢,你總不能把每表都弄到猶如視圖1般,然后關系表不要把?說到地就是如何創建不同的視圖給不同攻城獅使用,下面使用MYSQL舉個例子說明,如何利用內連接與嵌套查詢,實現多表查詢。其實所有數據庫都1樣,SQL語句是通用的。


1、基本目標

已知,在test數據庫,可自行腦補為school數據庫,中存在以下表:

(1)學生表i_student,里面記錄著該學校所有學生的數據,表示該學校中有3個學生a,b,c


(2)班級表i_class,里面記錄著該學校所有班級的數據,表示該學校中有2個學生1,2


(3)班級-學生關系表i_class_student,里面記錄著該學校所有班級與學生的對應關系,表示該學校中1班有學生1,2,2班有學生3


然后問題來了,求1班中有哪些學生?怎樣用SQL語句查詢?


2、基本思想

其實這3張表有以下簡單的關系:


班級-學生關系表i_class_student的class_id數據取自班級表i_class的主鍵id,班級-學生關系表i_class_student的student_id數據取自學生表i_student的主鍵id,存在1個所謂的“參照完全性”,如圖上面的那個箭頭就是外鍵嘛。其余表中的鑰匙圖標就是主鍵嘛,每個表的ID列存在所謂的“實體完全性”嘛,也就是說ID列數字不能再出現第2次也許不能不填,也就所謂的唯1且非空。


3、制作進程

1、基于上面的分析,你可以先對班級-學生關系表i_class_student下手,使用以下的語句:

select student_id from i_class_student where class_id=1

查出1班轄下的所有student_id

2、再對學生表i_student下手,根據找出這些student_id對應的學生名字就好了嘛,這里要把上面的查詢結果,與整張學生表i_student中的ID列與姓名列name連起來再查詢。首先你要有張學生表i_student的ID列與姓名列name。雖然現在整張學生表i_student中的ID列與姓名列name就是整張學生表i_student,但是實際中學生表i_student常常不止存兩列信息。通過1句簡單得不能再簡單,凡是學過數據庫都必須知道的語句查出整張學生表i_student中的姓名列name:

select id,name from i_student
查詢結果以下:


3、設第1步的查詢結果為t1,第2步的查詢結果為t2,把t1與t2兩張表連接起來,只存在保存id與student_id對應的結果,就得到最后的結果:


所以一樣把第1步的查詢語句與第2步的查詢語句,加條件地內連接起來,便得到以下的查詢語句,但此時我們無需再查詢學生表i_student的id了,這個id只作比對作用,可以把第2步的查詢語句中的id去掉,

select name from i_student as t1 INNER JOIN (select student_id from i_class_student where class_id=1) as t2 where t1.id=t2.student_id
也自但是然地得到正確的結果:

班級1不正是有a,b兩個學生嗎?

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 一级欧美激情毛片 | 亚洲国产专区 | 福利片在线 | 五月香福利| 欧美成人在线观看 | 美xxxx| 福利视频欧美一区二区三区 | 欧美性猛交黑人 | 国产精品无码久久av | 亚洲免费视频一区二区三区 | 国产一区二区三区视频在线观看 | 欧美日韩一品道 | 91九色精品国产免费 | 99久久老司机免费精品免费 | 在线观看视频在线 | 亚洲视频二区 | 欧美天天性 | 美国特级成人毛片 | 一区二区三区欧美 | 狠狠躁天天躁夜夜躁夜天战 | 久久综合久久久久 | 欧美激情精品久久久久久久久久 | 精品视频一区二区三区 | 日韩一区精品 | 国产欧美久久久另类精品 | 最近中字视频在线观看 | 日韩欧美在线观看视频一区二区 | 国产精品成人扳一级aa毛片 | 日韩在线小视频 | 波多野结衣三区 | 东方aⅴ免费观看久久av | 男人午夜网站 | 日韩专区亚洲综合久久 | 最近中文字幕无 | 欧美一级第一免费高清 | 成人久久免费视频 | 男女性免费视频观看 | 精品国产一区二区三区四 | 亚洲综合图片小说 | 热热色视频 | 欧美综合自拍亚洲综合 |