T-SQL查詢語句大總結(jié)
專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站制作服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)渝北免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了數(shù)千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
防偽碼:有志者事竟成,破釜沉舟,百二秦關(guān)終屬楚
案例六:表如下圖所示
在數(shù)據(jù)庫中顯示為:
實驗需求:
1、兩個表查詢
select 學(xué)生表.姓名,學(xué)生表1.電話,學(xué)生表1.家庭住址
from 學(xué)生表,學(xué)生表1
where 學(xué)生表.學(xué)生id=學(xué)生表1.學(xué)生id
2、三個表的查詢
select 學(xué)生表.姓名,課程表.課程名,成績表.分數(shù)
from 學(xué)生表,課程表,成績表
where 學(xué)生表.學(xué)生id=成績表.學(xué)生id AND 成績表.課程ID=課程表.課程ID
3、合并兩個結(jié)果集
SELECT 姓名,學(xué)號,班級,國籍
FROM 二班
UNION
select 姓+' '+名,學(xué)號,班級,國籍
from 一班
order by 班級 desc,學(xué)號 asc
4、內(nèi)聯(lián)接(查找參加考試的學(xué)生的姓名和CNT成績,電話)
select s.姓名,s.電話,c.CNT
FROM 學(xué)生基本信息表 AS S INNER JOIN 學(xué)生成績表 AS C
ON S.姓名=C.姓名
5、左外連接(查找本班學(xué)生的姓名和CNT才成績,電話)
select s.姓名,s.電話,c.CNT
FROM 學(xué)生基本信息表 AS S LEFT OUTER JOIN 學(xué)生成績表 AS C
ON S.姓名=C.姓名
6、右外連接(查找參加本次考試的學(xué)生的姓名和CNT才成績,電話)
select s.姓名,s.電話,c.CNT
FROM 學(xué)生基本信息表 AS S RIGHT OUTER JOIN 學(xué)生成績表 AS C
ON S.姓名=C.姓名
7、完全連接(查找所有學(xué)生的考試情況)
select s.姓名,s.電話,c.CNT
FROM 學(xué)生基本信息表 AS S FULL OUTER JOIN 學(xué)生成績表 AS C
ON S.姓名=C.姓名
8、自連接(查找每個員工的上司姓名)
SELECT Y.員工姓名,s.員工姓名 AS 上司姓名
from 員工信息表 as y inner join 員工信息表 as s
on y.上司ID=S.員工ID
9、子查詢(查找每個季度的生產(chǎn)數(shù)量,百分比)
select 季度,sum(生產(chǎn)數(shù)量) AS 每個季度的生產(chǎn)數(shù)量,
str((sum(生產(chǎn)數(shù)量)/(select sum(生產(chǎn)數(shù)量) from 生產(chǎn)表))*100)+'%' AS 百分比
from 生產(chǎn)表
group by 季度
order by 季度
10、在where子句中使用SELECT ,查找課程ID=1并且成績〉80的學(xué)生
select 學(xué)生表.姓名
from 學(xué)生表
where 80<(select 分數(shù) from 成績表
where 學(xué)生表.學(xué)生ID=成績表.學(xué)生ID AND 成績表.課程ID=1)
11、 交叉連接
SELECT T.教師姓名,c.課程名
from 教員基本信息表 AS t cross join 課程表 AS C