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
主站蜘蛛池模板: 亚洲人成色77777在线观看| 国产亚洲高清在线精品99| 91 九色视频丝袜| 一区二区在线视频免费观看| 国产成a人片在线播放| 国产免费一级精品视频| 免费黄色国产视频| 国产高清不卡视频| 欧美色香蕉| 精品国产电影久久九九| 色一情一乱一伦一区二区三区小说| 国产浮力第一页永久地址| 无码AV高清毛片中国一级毛片| 农村乱人伦一区二区| 国产成人高清在线精品| 亚洲精品少妇熟女| 亚洲成人在线播放 | a欧美在线| 国产交换配偶在线视频| 丰满的少妇人妻无码区| 蜜桃视频一区| 婷婷伊人五月| 国产专区综合另类日韩一区 | 成年女人18毛片毛片免费| 亚洲第一视频免费在线| 97人妻精品专区久久久久| 久草视频精品| 国产成人精品一区二区三区| 热re99久久精品国99热| 日韩视频免费| 国产网友愉拍精品| 99re精彩视频| 香蕉eeww99国产在线观看| 欧美高清日韩| 18黑白丝水手服自慰喷水网站| 国产亚洲欧美日韩在线一区二区三区| 国产91全国探花系列在线播放| 亚洲天堂精品视频| 成人精品在线观看| 天天摸夜夜操| 久久黄色影院| 国产一级一级毛片永久| 野花国产精品入口| 亚洲精品另类| 青草娱乐极品免费视频| 日本免费福利视频| 亚洲最大看欧美片网站地址| aⅴ免费在线观看| 亚洲性一区| 久久青草热| 真人免费一级毛片一区二区| 久久综合九色综合97婷婷| 国产丝袜丝视频在线观看| 日韩在线1| 国产日韩欧美精品区性色| 国产精品成人免费综合| 亚洲精品成人福利在线电影| 婷婷亚洲视频| 国产不卡网| 一区二区三区精品视频在线观看| 亚洲欧洲自拍拍偷午夜色| 国产91熟女高潮一区二区| 亚洲精品动漫| 中文字幕无线码一区| 国产成人高清精品免费| 国产高清免费午夜在线视频| 在线国产欧美| 免费看a级毛片| 国产精品久久久久久影院| 青青草综合网| 国产精品久久久久久久伊一| 久996视频精品免费观看| 97se亚洲综合不卡 | 香蕉eeww99国产在线观看| 国产一区二区网站| 99久久精品久久久久久婷婷| 色妞永久免费视频| 超清人妻系列无码专区| 久久久精品国产亚洲AV日韩| 激情六月丁香婷婷四房播| 亚洲自偷自拍另类小说| 91欧美亚洲国产五月天|