成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL Server高級(jí)內(nèi)容:子查詢(xún)和表鏈接

數(shù)據(jù)庫(kù) SQL Server 數(shù)據(jù)庫(kù)運(yùn)維
表鏈接就像連接兩張數(shù)據(jù)表的連線(xiàn),線(xiàn)的兩端是分別在兩張表的特定字段上的。今天我們就將談到表鏈接和子查詢(xún)。

 1.子查詢(xún)概念

   (1)就是在查詢(xún)的where子句中的判斷依據(jù)是另一個(gè)查詢(xún)的結(jié)果,如此就構(gòu)成了一個(gè)外部的查詢(xún)和一個(gè)內(nèi)部的查詢(xún),這個(gè)內(nèi)部的查詢(xún)就是自查詢(xún)。

   (2)自查詢(xún)的分類(lèi)

  1)獨(dú)立子查詢(xún)

     ->獨(dú)立單值(標(biāo)量)子查詢(xún)  (=)

 
  1. Select 
  2.   
  3.      testID,stuID,testBase,testBeyond,testPro  
  4.   
  5.  from Score 
  6.   
  7.      where stuID=( 
  8.       
  9.          select stuID from Student where stuName=’Kencery’ 
  10.   
  11.         ) 

   ->獨(dú)立多值子查詢(xún)  (in)

  1. Select 
  2.       testID,stuID,testBase,testBeyond,testPro  
  3.   from Score 
  4.       where stuID in
  5.           select stuID from Student where stuName=’Kencery’ 
  6.       ) 

   2)相關(guān)子查詢(xún)

   (3)寫(xiě)子查詢(xún)的注意事項(xiàng)

  1)子查詢(xún)用一個(gè)圓括號(hào)闊氣,有必要的時(shí)候需要為表取別名,使用“as 名字”即可。

2.表連接\

  (1)表鏈接就是將多個(gè)表合成為一個(gè)表,但是不是向union一樣做結(jié)果集的合并操作,但是表鏈接可以將不同的表合并,并且共享字段。

  (2)表連接之交叉連接 (cross join)

    1)創(chuàng)建兩張表

  1. use Test 
  2. go 
  3.  create table testNum1 
  4.  ( 
  5.      Num1 int 
  6.  ); 
  7.  create table testNum2 
  8.  ( 
  9.      Num2 int 
  10.  ); 
  11.  insert into testNum1 values(1),(2),(3) 
  12.  insert into testNum2 values(4),(5) 

    2) 執(zhí)行交叉連接的SQL語(yǔ)句

      select * from testNum1 cross join testNum2

    3)注解

      交叉連接就是將第一張表中的所有數(shù)據(jù)與第二張表中的所有數(shù)據(jù)挨個(gè)匹配一次,構(gòu)成一個(gè)新表。

    4)自交叉的實(shí)現(xiàn)

      執(zhí)行插入SQL語(yǔ)句:

      insert into testNum1 values(4),(5),(6),(7),(8),(9),(0)

      執(zhí)行自交叉的SQL語(yǔ)句:

      select t1.num1,t2.num2 from testNum1 as t1 cross join testNum2 as t2

    5)另外一種寫(xiě)法:

      select * from testNum1,testNum2不提倡使用,首先是有比較新的語(yǔ)法,缺陷是逗號(hào)不明確,并且這個(gè)語(yǔ)法與內(nèi)連接和外連接都可以使用,如果使用join聲明,那么語(yǔ)法錯(cuò)誤的時(shí)候可以報(bào)錯(cuò),但是使用這個(gè)語(yǔ)法,可能因?yàn)椴糠终Z(yǔ)法的錯(cuò)誤,會(huì)被SQL Server解釋為交叉連接而跳過(guò)這個(gè)語(yǔ)法的檢查

   (3)表連接之內(nèi)連接

     1)內(nèi)鏈接是在交叉連接的基礎(chǔ)之上添加一個(gè)約束條件

     2)語(yǔ)法:select * from 表1 inner join 表2 on 表1.字段=表2.字段

  1. Select  s1.stuID, 
  2.      s1.stuName, 
  3.      s1.stuSex, 
  4.      s2.testBase, 
  5.      s2.testBeyond  
  6.          from Student as s1 
  7.      inner join Score as s2 
  8.          on s1.stuID=s2.stuID 
  9.      where s1.stuIsDel=0; 

   (4)表連接之外連接

     1)執(zhí)行下面的SQL語(yǔ)句

  1. create table tblMain 
  2.   ( 
  3.      ID int
  4.       name nvarchar(20), 
  5.       fid int 
  6.   ); 
  7.   create table tblOther 
  8.   ( 
  9.       ID int
  10.       name nvarchar(20) 
  11.   ) 
  12.   insert into tblMain values(1,'張三',1),(2,'李四',2) 
  13.   insert into tblOther values(1,'C++'),(2,'.net'),(3,'java'
  14.   select * from  
  15.       tblMain as t1 
  16.          inner join  
  17.       tblOther as t2 
  18.           on  
  19.       t1.fid=t2.id 

     2)在內(nèi)連接的基礎(chǔ)之上,在做一件事兒,就是將tblOther中的Java也顯示出來(lái),這時(shí)候就要使用到外連接,外連接有左外連接和右外連接。

     3)左連接和右連接有什么區(qū)別呢??區(qū)別就是**連接就是以**表為主表,在內(nèi)連接的基礎(chǔ)之上,將沒(méi)有數(shù)據(jù)的那張表的信息還是要顯示出來(lái)供用戶(hù)查看,那么這個(gè)主表就是要顯示的那張表。左外連接和右外連接的分別是在前面的這張表就是左表,在后面的那張表就是右表,左連接使用left join ,有連接使用right join。

     4)上面重新執(zhí)行下面的SQL語(yǔ)句,就會(huì)顯示出tblOther表中的Java。

原文鏈接:http://www.cnblogs.com/hanyinglong/archive/2013/03/06/2945380.html

【編輯推薦】

責(zé)任編輯:彭凡 來(lái)源: 博客園
相關(guān)推薦

2010-07-21 09:50:12

SQL Server子

2021-04-02 07:46:52

SQL Server數(shù)據(jù)庫(kù)知識(shí)筆記

2024-10-11 16:51:02

2011-08-12 09:30:04

SQL Server數(shù)高級(jí)SQL查詢(xún)

2010-06-30 15:24:49

SQL Server子

2011-08-30 11:04:30

鏈接查詢(xún)內(nèi)連接外連接

2010-09-02 11:20:47

SQL刪除

2011-08-18 13:31:44

SQL Server數(shù)子節(jié)點(diǎn)查詢(xún)所有父節(jié)點(diǎn)

2023-12-16 13:14:00

SQL子查詢(xún)技術(shù)

2015-07-22 17:27:41

SQL SERVER 鏈接

2009-02-16 09:35:19

業(yè)務(wù)規(guī)則鏈接SQL Server

2011-03-29 15:42:08

SQL Server鏈接

2010-08-23 08:43:49

SQL ServerMySQL

2011-04-28 09:49:56

SQLwith子查詢(xún)

2011-04-15 11:43:24

SQL Server

2023-11-28 07:54:18

2022-11-04 08:34:27

Oracle數(shù)據(jù)庫(kù)

2010-10-21 10:28:13

SQL Server查

2025-01-20 15:06:42

2009-07-06 18:18:41

SQL Server全
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精品国产a级 | 中文字幕亚洲无线 | 国产精品久久久久久久久久软件 | 亚洲国产免费 | 日韩在线中文字幕 | 国产婷婷在线视频 | 亚洲精彩视频在线观看 | 欧美色影院 | www.国产91 | 国产精品久久久爽爽爽麻豆色哟哟 | 中文字幕精品一区二区三区在线 | 人人做人人澡人人爽欧美 | 国产中文字幕网 | 国产成人小视频 | 国产视频一区二区三区四区五区 | 国产一区二区三区四区五区3d | 一区二区三区中文字幕 | 久久久久久国产一区二区三区 | 成年人黄色小视频 | 午夜欧美| 最新国产精品精品视频 | 欧美成人一区二区 | 午夜三级在线观看 | 天天综合久久网 | 玖玖精品视频 | 久久久久久国产精品久久 | 免费视频久久久久 | 日韩在线中文字幕 | 国产高清无av久久 | 午夜久久久久久久久久一区二区 | 五月激情婷婷六月 | 一级二级三级在线观看 | 国产一区二区三区精品久久久 | 亚洲一区二区三区四区五区中文 | 国产免费拔擦拔擦8x高清 | 免费在线观看一区二区三区 | 天天操天天干天天曰 | 91一区二区在线观看 | 国产成人免费网站 | 亚洲成人久久久 | 日本成人免费网站 |