• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      簡(jiǎn)談SQL SERVER 2000中的連接查詢

      2009-06-17 09:20邢文端
      讀與寫·教育教學(xué)版 2009年11期
      關(guān)鍵詞:運(yùn)算符學(xué)號(hào)等值

      摘要:連接查詢是通過連接運(yùn)算符實(shí)現(xiàn)多表查詢的一種數(shù)據(jù)檢索方式,連接查詢是關(guān)系數(shù)據(jù)庫(kù)的主要特點(diǎn)。在關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)中,常把一個(gè)實(shí)體的所有信息存放在一個(gè)數(shù)據(jù)表中,當(dāng)檢索數(shù)據(jù)信息時(shí),通過連接查詢?nèi)〕龃娣旁诙鄠€(gè)表中的不同實(shí)體信息,這樣的應(yīng)用方式給用戶帶來(lái)了很大的靈活性。

      關(guān)鍵詞:連接查詢數(shù)據(jù)庫(kù)

      中圖分類號(hào):G434 文獻(xiàn)標(biāo)識(shí)碼: A文章編號(hào):1672-1578(2009)11-0095-01

      在SQL SERVER數(shù)據(jù)庫(kù)中,連接類型可以分為三種:交叉連接、內(nèi)連接、外連接和自連接。

      1 交叉連接

      交叉連接又稱非限制連接,它將兩個(gè)表不加任何約束地組合在一起,也就是將第一個(gè)表的所有記錄分別與第二個(gè)表的每條記錄組成新記錄,連接結(jié)果返回第一個(gè)數(shù)據(jù)表中符合查詢條件的數(shù)據(jù)行乘以第二個(gè)數(shù)據(jù)表中符合查詢條件的數(shù)據(jù)行數(shù)。交叉連接有兩種語(yǔ)法格式:

      格式1:select 列名列表 from 表名1 cross join 表名2;

      格式2:select 列名列表 from 表名1,表名2。

      例如:t1表中有四條記錄,t2表中有三條記錄,交叉連接的結(jié)果中有12條記錄,進(jìn)行交叉連接的語(yǔ)法為:

      Select * from t1 cross join t2,或select * from t1,t2。

      在實(shí)際應(yīng)用中使用交叉連接產(chǎn)生的結(jié)果集一般沒有什么意義,但在數(shù)據(jù)庫(kù)的數(shù)據(jù)模式上有重要作用。

      2 內(nèi)連接

      內(nèi)連接也稱自然連接,使用比較運(yùn)算符進(jìn)行表間列數(shù)據(jù)的比較操作,并列出這些表中與連接條件相匹配的數(shù)據(jù)行。內(nèi)連接就是將交叉連接產(chǎn)生的結(jié)果集經(jīng)過連接條件過濾后得到的,它是將兩個(gè)表中滿足條件的記錄組合在一起,通常采用“on 主鍵=外鍵”的形式,通常有兩種語(yǔ)法格式:

      格式1:select 列名列表 from 表名1[inner]join 表名2 on 表名1.列名=表名2.列名。

      格式2:select 列名列表 from 表名1,表名2where 表名1.列名=表名2.列名。

      內(nèi)連接根據(jù)所使用的比較方式的不同,又分為等值連接、不等值連接和自然連接

      2.1等值連接

      等值連接是指在連接條件中使用等于號(hào)(=)運(yùn)算符比較被連接列的列值,其查詢結(jié)果中列出被連接表中的所有列,包括其中的重復(fù)列。

      例如:查詢teacher數(shù)據(jù)庫(kù)的class_info表中所有課程的選課信息,Select * from class_info as a inner join student_choose as b on a.課程編號(hào)=b.課程編號(hào)。

      2.2不等值連接

      不等值連接是指在連接條件使用除等于運(yùn)算符外的其他比較運(yùn)算符比較被連接列的列值。這些運(yùn)算符包括>、>=、<=、<、

      !>、!<和<>。

      例如:查詢teacher數(shù)據(jù)庫(kù)的class_info表中所有課程的選課信息,Select * from class_info as a inner join student_choose as b on a.課程編號(hào)<>b.課程編號(hào)。

      2.3自然連接

      自然連接只有在兩個(gè)表有相同名稱的列且列的含義相似時(shí)才能使用,將在同名列上進(jìn)行相等連接。自然連接是指在連接條件中使用(=)運(yùn)算符比較被連接的列值,但它使用選擇列表指出查詢結(jié)果集合中所包括的列,并刪除連接表中重復(fù)的列。

      例如:查詢學(xué)生信息和成績(jī)信息,要求連接的列只顯示一次,Select student_info.*,student_grade.* from stusent_info as a inner join student_grade as b on a.學(xué)號(hào)=b.學(xué)號(hào)。

      3 外連接

      外連接分左外連接、右外連接和全外連接三種。外連接除生成內(nèi)連接生成的結(jié)果集外,還可以使一個(gè)表(左外連接、右外連接)或兩個(gè)(全外連接)中不滿連接條件的記錄也出現(xiàn)在結(jié)果集中。

      3.1左外連接

      左外連接就是將左表的所有記錄分別與右表的每條記錄進(jìn)行連接組合,結(jié)果集中除返回內(nèi)部連接的記錄外,還在查詢結(jié)果中顯示出左表中不符合條件的記錄并在右表的相應(yīng)列中添上NULL值,語(yǔ)法格式為:

      Select 列名列表 from 表名1 left [outer] join 表名2 on 表名1.列名=表名2.列名。

      例如:查詢Teacher數(shù)據(jù)庫(kù)中的student_info表中所有沒有成績(jī)的學(xué)生信息,Select * from stuent_info as a left join student_grade as b on a.學(xué)號(hào)=b.學(xué)號(hào)。

      3.2右外連接

      右外連接就是將左表的所有記錄分別與右表的每一條記錄進(jìn)行連接組合,結(jié)果集中除返回內(nèi)部連接的記錄外,還在查詢結(jié)果集中顯示出右表中不符合條件的記錄并在左表的相應(yīng)列中添上NULL值。其語(yǔ)法格式為:

      Select 列名列表 from 表名1 right [outer] join 表名2 on 表名1.列名=表名2.列名。

      例如:查詢teacher數(shù)據(jù)庫(kù)中student_info表中所有有成績(jī)的學(xué)生信息,Select * from student_info as a right join student_grade as b on a.學(xué)號(hào)=b.學(xué)號(hào)。

      3.3全外連接

      全外連接就是將左邊數(shù)據(jù)表的所有數(shù)據(jù)分別與右邊數(shù)據(jù)表的每條數(shù)據(jù)進(jìn)行連接組合,返回的結(jié)果除內(nèi)連接的數(shù)據(jù)外,還有兩個(gè)表中不符合條件的數(shù)據(jù),并在左表或右表的相應(yīng)列中填上NULL值,其語(yǔ)法格式為:

      Select 列名列表 from 表名1 full [outer] join 表名2 on 表名1.列名=表名2.列名。

      例如:查詢Teacher數(shù)據(jù)庫(kù)中的student_info表中所有有成績(jī)和沒有成績(jī)的學(xué)生信息,Select * from student_info as a full join student_grade as b on a.學(xué)號(hào)=b.學(xué)號(hào)。

      4 自連接查詢

      自連接就是一張表的兩個(gè)副本之間的內(nèi)連接,使用它可以將同一個(gè)表的不同行連接起來(lái)。使用自連接時(shí),必須為表指定兩個(gè)不同的別名,使之在邏輯上成為兩個(gè)表。

      例如:查詢學(xué)生檔案中畢業(yè)院校相同的學(xué)生信息,Select a.* from student_info as a,student_info as b where a.畢業(yè)院校=b.畢業(yè)院校 and a.學(xué)號(hào)<>b.學(xué)號(hào)。

      參考文獻(xiàn):

      [1]耿文蘭,王慶建等編著.SQL Server 2000數(shù)據(jù)庫(kù)管理與開發(fā)[M].電子工業(yè)出版社.

      [2]劉桂林,謝堯等編著.SQL Server 數(shù)據(jù)庫(kù)應(yīng)用技術(shù)[M].

      作者簡(jiǎn)介:邢文端(1975-),女,本科學(xué)歷,計(jì)算機(jī)及其應(yīng)用專業(yè),職稱:講師。

      猜你喜歡
      運(yùn)算符學(xué)號(hào)等值
      老祖?zhèn)魇诨具\(yùn)算符
      異步電動(dòng)機(jī)等值負(fù)載研究
      用手機(jī)插頭的思路學(xué)習(xí)布爾運(yùn)算符
      我們來(lái)打牌
      電網(wǎng)單點(diǎn)等值下等效諧波參數(shù)計(jì)算
      學(xué)生學(xué)號(hào)的妙用
      基于戴維南等值模型的靜穩(wěn)極限在線監(jiān)視
      漢語(yǔ)國(guó)俗語(yǔ)義在維吾爾語(yǔ)中的等值再現(xiàn)
      表達(dá)式求值及符號(hào)推導(dǎo)
      C++中運(yùn)算符的重載應(yīng)用
      元谋县| 上栗县| 临汾市| 西城区| 扬州市| 两当县| 牙克石市| 高尔夫| 搜索| 十堰市| 南乐县| 盐津县| 新密市| 富宁县| 洪洞县| 阿瓦提县| 甘德县| 梅河口市| 东明县| 甘肃省| 垫江县| 宁城县| 杨浦区| 楚雄市| 静宁县| 清流县| 遵义县| 滨州市| 诸暨市| 瑞昌市| 新平| 三原县| 梅河口市| 永定县| 苗栗市| 宁明县| 岚皋县| 平遥县| 锡林郭勒盟| 遵义市| 会泽县|