濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > SQL Server連接查詢的實(shí)用教程

SQL Server連接查詢的實(shí)用教程

熱門標(biāo)簽:實(shí)體店地圖標(biāo)注怎么標(biāo) 電銷機(jī)器人 深圳 外呼系統(tǒng)會(huì)封嗎 股票配資電銷機(jī)器人 萬(wàn)利達(dá)綜合醫(yī)院地圖標(biāo)注點(diǎn) 武漢AI電銷機(jī)器人 地圖標(biāo)注如何弄全套標(biāo) 南京電銷外呼系統(tǒng)哪家好 在電子版地圖標(biāo)注要收費(fèi)嗎

前沿小補(bǔ)充

例3.48 查詢平均成績(jī)大于等于80分的學(xué)生學(xué)號(hào)和平均成績(jī)

SELECT Sno,AVG(Grade)
FROM SC
WHERE AVG(Grade)>=80
GROUP BY Sno;
SELECT * FROM SC;

此時(shí)發(fā)現(xiàn):

這是因?yàn)閃HERE子句中是不能用聚集函數(shù)作為條件表達(dá)式的,正確的查詢語(yǔ)句應(yīng)該是:

SELECT Sno,AVG(Grade)
FROM SC
GROUP BY Sno
HAVING AVG(Grade)>=80;
SELECT * FROM SC;

總結(jié):WHERE子句作用基本表或視圖,從中選擇滿足條件的元組。

HAVING短語(yǔ)作用于組,從中選擇滿足條件的組

等值與非等值連接查詢

連接符號(hào)是=的成為等值連接,其他的稱為非等值連接

一般形式:

[表名1>.]列名1>比較運(yùn)算符>[表名2>.]列名2>

例3.49 查詢每個(gè)學(xué)生及其課程選秀修情況

SELECT Student.*,SC.*
FROM Student,SC
WHERE Student.Sno=SC.Sno;
SELECT * FROM SC;
SELECT * FROM Student;

拓展:去掉WHERE Student.Sno=SC.Sno后發(fā)現(xiàn)標(biāo)稱笛卡爾積形式

SELECT Student.*,SC.*
FROM Student,SC

SELECT * FROM SC;
SELECT * FROM Student;

例3.50 對(duì)例3.49 用自然連接完成

SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade
FROM Student,SC
WHERE Student.Sno=SC.Sno;
SELECT * FROM SC;
SELECT * FROM Student;

修改為自然連接竟然是一點(diǎn)一點(diǎn)選擇可視的列來(lái)進(jìn)行的,是我想不到的,以為會(huì)有專門的語(yǔ)句來(lái)進(jìn)行呢


例3.51 查詢選修了2號(hào)課程且成績(jī)大于等于90分所有學(xué)生的學(xué)號(hào)和姓名

SELECT Student.Sno,Sname 
FROM Student,SC 
WHERE Student.Sno=SC.Sno 
AND SC.Cno='2'
AND SC.Grade>=90;
SELECT * FROM SC;
SELECT * FROM Student;

一條SQL語(yǔ)句可以同時(shí)完成選擇和連接查詢,這時(shí)WHERE子句由連接謂詞和選擇謂詞組成的復(fù)合條件

自身連接

一個(gè)表與其自身進(jìn)行連接,稱為自身連接

例3.52 查詢每一門課的間接選修課

SELECT FIRST.Cno,SECOND.Cpno
FROM Course FIRST,Course SECOND
WHERE FIRST.Cpno=SECOND.Cno;
SELECT * FROM Course;

在T-SQL 語(yǔ)句中,外連接是存在空值的,

外連接

例如某個(gè)學(xué)生沒(méi)有選課,仍把Student的懸浮元組保存在結(jié)果關(guān)系中,而在SC表的屬性上填上空值NULL,這是需要使用外連接

例3.53 對(duì)Student進(jìn)行左外連接SC

SELECT *
FROM Student LEFT OUTER JOIN SC ON(Student.Sno=SC.Sno);
--SELECT * FROM Course;
SELECT * FROM SC;
SELECT * FROM Student;

多表連接

兩個(gè)表以上的操作稱為外連接

例3.54 查詢每個(gè)學(xué)生的學(xué)號(hào)、姓名、選修的課程及成績(jī)

SELECT Student.Sno,Sname,Cname,Grade
FROM Student,SC,Course
WHERE Student.Sno=SC.Sno AND SC.Cno=Course.Cno;
SELECT * FROM Course;
SELECT * FROM SC;
SELECT * FROM Student;

拓展:對(duì)SELECT進(jìn)行*改寫

SELECT *
FROM Student,SC,Course
WHERE Student.Sno=SC.Sno AND SC.Cno=Course.Cno;

原算法只是對(duì)數(shù)據(jù)進(jìn)行了一步篩選。

總結(jié):連接查詢這部分比較簡(jiǎn)單,注意對(duì)屬性的表格定位名時(shí),不要打錯(cuò)了

總結(jié)

到此這篇關(guān)于SQL Server連接查詢的文章就介紹到這了,更多相關(guān)SQL Server連接查詢內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • SQL設(shè)置SQL Server最大連接數(shù)及查詢語(yǔ)句
  • bat/cmd批處理連接SqlServer數(shù)據(jù)庫(kù)查詢腳本
  • SQLServer 查詢當(dāng)前服務(wù)器有多少連接請(qǐng)求的語(yǔ)句
  • SQL Server中的連接查詢?cè)斀?/li>
  • SQL Server 2012 多表連接查詢功能實(shí)例代碼

標(biāo)簽:濟(jì)源 泰安 濟(jì)寧 臺(tái)州 廣東 武威 安徽 汕頭

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQL Server連接查詢的實(shí)用教程》,本文關(guān)鍵詞  SQL,Server,連接,查詢,的,實(shí)用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《SQL Server連接查詢的實(shí)用教程》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于SQL Server連接查詢的實(shí)用教程的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    千阳县| 汾阳市| 洛宁县| 龙胜| 新竹县| 襄汾县| 和平区| 青龙| 拉萨市| 万州区| 太仓市| 安塞县| 肥城市| 阳江市| 石嘴山市| 敦化市| 洛浦县| 肃宁县| 云和县| 从化市| 武威市| 长阳| 石泉县| 日喀则市| 华宁县| 临夏县| 东安县| 冀州市| 长治县| 罗江县| 鄂托克前旗| 临沧市| 巴东县| 泽普县| 老河口市| 拉孜县| 临安市| 兰西县| 精河县| 海安县| 郓城县|