999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

數據庫連接查詢和優化策略

2019-09-10 17:13:26劉薇
新生代·下半月 2019年6期
關鍵詞:數據庫課程學生

劉薇

【摘要】:隨著大數據時代的來臨,人們對于計算機技術的依賴程度越來越高,特別是建立在數據庫基礎上的各種查詢技術為人們的工作和生活帶來了方便和快捷。在查詢技術中,多表連接查詢的使用非常頻繁,本文就常見的各種多表連接查詢的特點進行分析總結、討論優化策略。

【關鍵字】:計算機技術 數據庫 多表連接查詢

1引言

計算機數據庫技術是一門實用性非常強的技術,隨著我國信息化建設工程的逐漸開展,在多個領域中都有了較為廣泛的應用,并逐漸的發揮出在信息化建設中的主導作用。在數據庫技術中查詢技術是最基本、最常用也是最復雜的技術之一,而多表連接查詢也是所有數據庫操作中最繁瑣所占比重最大的。所以弄清楚多表連接查詢的種類,以及在什么情況下使用哪種查詢策略是需要研究的重要問題。

2 多表連接查詢分類

在實際工作中,所查詢的內容往往涉及多張表,連接查詢是關系數據庫中最主要的查詢方式,在SQL Server中連接查詢類型分為交叉連接、內連接、外連接和自連接。

2.1交叉連接

交叉連接也稱非限制連接,它是將兩個表不加任何約束地組合起來。也就是將第一個表的所有行分別與第二個表的每一行形成一條新的記錄,交叉連接在實際應用中一般是沒有意義的,但在數據庫的數學模型上有重要作用。

2.2內連接

內連接也稱自然連接,它是組合兩個表的常用方法。連接條件通常采用“主鍵=外鍵”的形式,也就是說在兩個表中匹配的記錄才能在結果集中出現。

例如:有學生(學號、姓名、性別、專業),成績(學號、課程號、分數)兩個表,要查詢選修了‘A001’課程的學生的姓名和專業。查詢語句如下:

select 學生.學號,姓名,專業

from 學生 join 成績 on 學生.學號=成績.學號

where 課程號=‘A001’

2.3外連接

(1)在外連接中可以只限制一個表,而另一個表中的所有行都出現在結果集中。外連接分為左外連接、右外連接和全外連接。分別對左表、右表和左右兩邊的表不加限制。

例如:如果我們想查看所有的學生選修A001課程的成績情況,就可以使用左外連接。查詢語句如下:

select 姓名,專業,課程號,分數

from 學生 left join 成績 on 學生.學號=成績.學號

where課程號=‘A001’

以上問題也可以使用右外連接。查詢語句如下:

select 姓名,專業,課程號,分數

from成績 right join 學生on 成績.學號=學生.學號

where課程號=‘A001’

這種情況下會以學生表為主,返回所有學生的信息,同時選修了A001課程的顯示分數,沒有選修A001課程的顯示null

(2)全外連接結果集中除返回左表和右表內部連接的記錄以外,還在查詢結果中返回兩個表中不符合條件的記錄,并在左表或右表的相應列中填上null,bit類型以0值填充。

例如:有學生會(學號,姓名),人員分工(學號,職務)兩個表,如果想查看學生會中的所有學生,哪些學生分配了職務,哪些學生還沒有職務;學生會共設置了多少職務種類,哪些職務已經有人擔任,哪些職務還有空缺,這時候就可以使用全外連接。查詢語句如下:

select 學生會.學號,姓名,職務

from 學生會 full join 人員分工 on 學生會.學號=人員分工.學號

這種情況下會返回學生會中所有學生學號、姓名,同時也會返回人員分工表里面的所有職務,沒有職務的學生,職務填充null,沒有分配出去的職務,姓名填充null。

3 查詢優化策略

連接的表越多,條件表達式越繁瑣,查詢的復雜度就越高,所消耗時間就越長。因此在進行查詢時我們應當在能返回正確查詢結果的前提下,盡可能的降低查詢時間,提高查詢效率。

3.1連表宜少不宜多

例如:有學生(學號、姓名、性別、專業),成績(學號、課程號、分數),課程(課程號,課程名,學時數)三個表。查詢選修‘A001’課程的學生學號、姓名和課程號。可以用以下兩種方法實現:

方法一

select 學生.學號,姓名,課程.課程號

from 學生 join 成績 on 學生.學號=成績.學號

join 課程 on 成績.課程號=課程.課程號

where 課程號=‘A001’

方法二

select 學生.學號,姓名,成績.課程號

from 學生 join 成績 on 學生.學號=成績.學號

where 課程號=‘A001’

第一組語句連接三個表查詢,第二組語句連接兩個表查詢。前者查詢效率低,后者查詢效率高。

3.2條件表達式宜簡不宜繁

例如:要查詢張玲、李萍、王曉宇三個學生的學號、姓名、出生時間、專業。可以用以下兩種方法實現:

方法一

select 學號,姓名,出生時間,專業

from 學生

where 姓名=‘張玲’ or 姓名=‘李萍’or 姓名=‘王曉宇’

方法二

select 學號,姓名,出生時間,專業

from 學生

where 姓名in(‘張玲’,‘李萍’,‘王曉宇’)

第一組語句的where子句后有三個條件表達式,第二組語句的where子句后有一個條件表達式。前者查詢效率低,后者查詢效率高。

4 結束語

在數據庫開發和維護過程中多表查詢的優化設計對于提高大型數據庫系統的性能具有現實意義。以上介紹的幾種連接查詢的適用場景,以及在優化查詢時應當遵循的原則,僅供大家參考交流。

【參考文獻】::

【1】邢文端; 簡談SQL SERVER 2000種的連接查詢;讀與寫;2009年

【2】王珊 孟小峰;數據庫系統導論;機械工業出版社;2010年

【3】馮玉才 陳紅 文繼榮;數據庫和數據庫管理系統;電子工業出版社;1995年

猜你喜歡
數據庫課程學生
數字圖像處理課程混合式教學改革與探索
軟件設計與開發實踐課程探索與實踐
計算機教育(2020年5期)2020-07-24 08:53:38
為什么要學習HAA課程?
趕不走的學生
數據庫
財經(2017年2期)2017-03-10 14:35:35
學生寫話
學生寫的話
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
主站蜘蛛池模板: 亚州AV秘 一区二区三区| 成人精品午夜福利在线播放| 播五月综合| 国产菊爆视频在线观看| 谁有在线观看日韩亚洲最新视频| 伊人久久大香线蕉影院| 中文字幕首页系列人妻| 日韩大乳视频中文字幕| 成人午夜精品一级毛片| 99在线视频精品| 99这里只有精品6| 57pao国产成视频免费播放| 91午夜福利在线观看精品| 亚洲a免费| 亚洲天堂视频网站| 国产精品白浆无码流出在线看| 91无码视频在线观看| 高清无码手机在线观看| 欧美日韩国产在线播放| 色视频国产| 亚洲激情99| 国产SUV精品一区二区6| 国产成人免费| 91色爱欧美精品www| 伊在人亞洲香蕉精品區| 久久青青草原亚洲av无码| 国产美女精品在线| 四虎成人在线视频| 亚洲精品成人片在线观看| 色综合综合网| 久草视频中文| 99久久精品视香蕉蕉| av大片在线无码免费| 亚洲人成人伊人成综合网无码| 动漫精品中文字幕无码| 视频国产精品丝袜第一页| 国产精品福利导航| AV不卡无码免费一区二区三区| 国产成人亚洲精品无码电影| 国产打屁股免费区网站| 国产精品不卡片视频免费观看| 久久精品一品道久久精品| 国产女人水多毛片18| 69视频国产| 国产男女免费完整版视频| av免费在线观看美女叉开腿| 在线国产综合一区二区三区| 热99re99首页精品亚洲五月天| 婷婷99视频精品全部在线观看| 亚洲精品无码AV电影在线播放| 一级毛片免费观看久| 国产亚洲欧美日韩在线观看一区二区| 日本三级欧美三级| 亚洲高清无码精品| 丁香五月激情图片| 免费a级毛片18以上观看精品| 第一页亚洲| 欧美日本在线播放| 国产真实乱人视频| 国产97视频在线| 国产成a人片在线播放| 亚洲天堂视频在线观看免费| 国产综合日韩另类一区二区| 亚洲第一色视频| 少妇精品久久久一区二区三区| 人妻丰满熟妇av五码区| 欧美国产综合色视频| 久久成人国产精品免费软件| 欧美日韩另类在线| 99精品国产电影| 91午夜福利在线观看| 在线免费亚洲无码视频| 欧美第一页在线| 欧美A级V片在线观看| 中文字幕在线播放不卡| 午夜日b视频| 99热这里只有成人精品国产| 色有码无码视频| 亚洲国产成人无码AV在线影院L| 日韩少妇激情一区二区| 亚洲精品亚洲人成在线| 亚洲中文字幕久久无码精品A|