數(shù)據(jù)庫(kù)操作語(yǔ)句(共10頁(yè))_第1頁(yè)
數(shù)據(jù)庫(kù)操作語(yǔ)句(共10頁(yè))_第2頁(yè)
數(shù)據(jù)庫(kù)操作語(yǔ)句(共10頁(yè))_第3頁(yè)
數(shù)據(jù)庫(kù)操作語(yǔ)句(共10頁(yè))_第4頁(yè)
數(shù)據(jù)庫(kù)操作語(yǔ)句(共10頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上 例1:查詢?nèi)w學(xué)生的學(xué)號(hào)與姓名。SELECT Sno, Sname FROM Student例2.查詢?nèi)w學(xué)生的姓名、學(xué)號(hào)、所在系 SELECT Sname, Sno, Sdept FROM Student 例3查詢?nèi)w學(xué)生的記錄 SELECT Sno,Sname,Ssex, Sage, Sdept FROM Student 例5查詢?nèi)w學(xué)生的姓名和出生年份所在系,并在出生年份列前加入一個(gè)列,此列的每行數(shù)據(jù)均為“出生年份”常量值。SELECT Sname,'出生年份:', 2010-Sage FROM Student 例6查詢選修了課程的學(xué)生的學(xué)號(hào)

2、SELECT Sno FROM SC 例7查詢計(jì)算機(jī)系全體學(xué)生的姓名。SELECT Sname FROM Student WHERE Sdept = '計(jì)算機(jī)系 例8查詢年齡在20歲以下的學(xué)生的姓名及年齡。SELECT Sname, Sage FROM Student WHERE Sage < 20或SELECT Sname, Sage FROM Student WHERE NOT Sage >= 20 例9查詢考試成績(jī)有不及格的學(xué)生的學(xué)號(hào) SELECT DISTINCT Sno FROM SC WHERE Grade < 60 例10查詢年齡在2023歲之間的學(xué)生的

3、姓名、所在系和年齡。SELECT Sname, Sdept, Sage FROM Student WHERE Sage BETWEEN 20 AND 23SELECT Sname, Sdept, Sage FROM Student WHERE Sage >= 20 AND Sage<= 23 例11查詢年齡不在2023之間的學(xué)生姓名、所在系和年齡。SELECT Sname, Sdept, Sage FROM Student WHERE Sage NOT BETWEEN 20 AND 23SELECT Sname, Sdept, Sage FROM Student WHERE Sag

4、e < 20 or Sage> 23 例12查詢2009年6月份出版的全部圖書(shū)的詳細(xì)信息。SELECT * FROM 圖書(shū)表 WHERE 出版日期 BETWEEN '2009/6/1' AND '2009/6/30' 例13查詢信息系、數(shù)學(xué)系和計(jì)算機(jī)系學(xué)生的姓名和性別。SELECT Sname, Ssex FROM Student WHERE Sdept IN ('信息系', '數(shù)學(xué)系','計(jì)算機(jī)系') SELECT Sname, Ssex FROM Student WHERE Sdept = '

5、;信息系 or Sdept = '數(shù)學(xué)系 or Sdept = '計(jì)算機(jī)系' 例14查詢信息系和計(jì)算機(jī)系之外的其他系的學(xué)生姓名、性別和所在系。SELECT Sname, Ssex FROM Student WHERE Sdept NOT IN ('信息系', '計(jì)算機(jī)系') SELECT Sname, Ssex FROM Student WHERE Sdept != '信息系 or Sdept != '數(shù)學(xué)系 例15.查詢姓張的學(xué)生的詳細(xì)信息。SELECT * FROM Student WHERE Sname LIKE &

6、#39;張%' 例16查詢學(xué)生表中姓張、李和劉的學(xué)生的情況。SELECT * FROM Student WHERE Sname LIKE '張李劉%' 例17查詢名字中第2個(gè)字為小或大的學(xué)生的姓名和學(xué)號(hào)。 SELECT Sname, Sno FROM Student WHERE Sname LIKE '_小大%' 例18查詢所有不姓“王”也不姓“張”的學(xué)生姓名SELECT Sname FROM Student WHERE Sname NOT LIKE '王張%' 例19查詢姓“王”且名字是2個(gè)字的學(xué)生姓名。SELECT Sname FRO

7、M Student WHERE Sname LIKE '王_' 例20查詢姓王且名字是3個(gè)字的學(xué)生姓名SELECT Sname FROM Student WHERE Sname LIKE '王_' 例21. 在Student表中查詢學(xué)號(hào)的最后一位不是2、3、5的學(xué)生信息。 SELECT * FROM Student WHERE Sno LIKE '%235' 例22查詢沒(méi)有考試成績(jī)的學(xué)生的學(xué)號(hào)和相應(yīng)的課程號(hào)。SELECT Sno, Cno FROM SC WHERE Grade IS NULL 例23查詢所有有考試成績(jī)的學(xué)生的學(xué)號(hào)和課程號(hào)。SEL

8、ECT Sno, Cno FROM SC WHERE Grade IS NOT NULL 例24查詢計(jì)算機(jī)系年齡在20歲以下的學(xué)生姓名。SELECT Sname FROM Student WHERE Sdept = '計(jì)算機(jī)系' AND Sage < 20 例25查詢計(jì)算機(jī)系和信息系年齡大于等于20歲的學(xué)生姓名、所在系和年齡。 SELECT Sname,Sdept, Sage FROM Student WHERE (Sdept = '計(jì)算機(jī)系' OR Sdept = '信息系') AND Sage >= 20 例26將學(xué)生按年齡的升序

9、排序。SELECT * FROM Student ORDER BY Sage 例27查詢選修了c02號(hào)課程的學(xué)生的學(xué)號(hào)及其成績(jī),查詢結(jié)果按成績(jī)降序排列。SELECT Sno, Grade FROM SCWHERE Cno='c02' ORDER BY Grade DESC 例28.查詢?nèi)w學(xué)生的信息,查詢結(jié)果按所在系的系名升序排列,同一系的學(xué)生按年齡降序排列。SELECT * FROM StudentORDER BY Sdept, Sage DESC 例29統(tǒng)計(jì)學(xué)生總?cè)藬?shù)。SELECT COUNT(*) FROM Student 數(shù)(學(xué)生表里的)記錄,有多少記錄就有多少個(gè)學(xué)生。

10、 例30統(tǒng)計(jì)選修了課程的學(xué)生的人數(shù)。SELECT COUNT (DISTINCT Sno) FROM SC由于一個(gè)學(xué)生可以選多門(mén)課程,所以加DISTINCT 例31統(tǒng)計(jì)號(hào)學(xué)生的考試總成績(jī)之和。SELECT COUNT(*) AS 選課門(mén)數(shù),SUM(Grade) AS 總成績(jī) FROM SC WHERE Sno = COUNT(*) 數(shù)個(gè)數(shù),數(shù)選課表每個(gè)同學(xué)的選課記錄就是選課門(mén)數(shù) 例32計(jì)算C01號(hào)課程學(xué)生的考試平均成績(jī)。SELECT AVG(Grade) AS 平均成績(jī) FROM SC WHERE Cno='C01' 例33查詢C01號(hào)課程的考試最高分和最低分。SELECT M

11、AX(Grade) AS 最高分, MIN(Grade) AS 最低分 FROM SC WHERE Cno='C01' 例34查詢“”學(xué)生的選課門(mén)數(shù)、已考試課程門(mén)數(shù)以及考試最高分、最低分和平均分。SELECT COUNT(*) AS 選課門(mén)數(shù), COUNT(Grade) AS 考試門(mén)數(shù), MAX(Grade) AS 最高分, MIN(Grade) AS 最低分, AVG(Grade) AS 平均分 FROM SC WHERE Sno = 'COUNT(*) 數(shù)個(gè)數(shù),數(shù)選課表該同學(xué)的選課記錄就是選課門(mén)數(shù)COUNT(Grade)數(shù)選課表該同學(xué)有幾個(gè)考試成績(jī)就是考試門(mén)數(shù) 例3

12、5統(tǒng)計(jì)每門(mén)課程的選課人數(shù),列出課程號(hào)和人數(shù)。 SELECT Cno as 課程號(hào), COUNT(Sno) as 選課人數(shù) FROM SC GROUP BY Cno 例36查詢每個(gè)學(xué)生的選課門(mén)數(shù)和平均成績(jī)。 SELECT Sno as 學(xué)號(hào), COUNT(*) as 選課門(mén)數(shù), AVG(Grade) as 平均成績(jī) FROM SC GROUP BY Sno 例37統(tǒng)計(jì)每個(gè)系的學(xué)生人數(shù)和平均年齡。SELECT Sdept, COUNT(*) AS 學(xué)生人數(shù), AVG(Sage) AS 平均年齡 FROM Student GROUP BY Sdept 例38. 帶WHERE子句的分組。統(tǒng)計(jì)每個(gè)系的女

13、生人數(shù)。SELECT Sdept, Count(*) 女生人數(shù) FROM Student WHERE Ssex = '女' GROUP BY Sdept 例39. 按多列分組。統(tǒng)計(jì)每個(gè)系的男生人數(shù)和女生人數(shù),以及男生的最大年齡和女生的最大年齡。結(jié)果按系名的升序排序。SELECT Sdept, Ssex, Count(*) 人數(shù), Max(Sage) 最大年齡 FROM Student GROUP BY Sdept, Ssex ORDER BY Sdept先按系別分組,每個(gè)系再按性別分組 例40. 查詢選修了3門(mén)以上課程的學(xué)生的學(xué)號(hào)和選課門(mén)數(shù)。SELECT Sno, Count(

14、*) 選課門(mén)數(shù) FROM SC GROUP BY Sno HAVING COUNT(*) > 3 例41查詢修課門(mén)數(shù)等于或大于4的學(xué)生的平均成績(jī)和選課門(mén)數(shù)。SELECT Sno, AVG(Grade) 平均成績(jī), COUNT(*) 修課門(mén)數(shù) FROM SC GROUP BY Sno HAVING COUNT(*) >= 4 例42. 查詢計(jì)算機(jī)系和信息管理系的學(xué)生人數(shù)。 方法1:SELECT Sdept, COUNT(*) FROM Student GROUP BY Sdept HAVING Sdept IN ( '計(jì)算機(jī)系', '信息管理系') 方

15、法2:SELECT sdept, COUNT (*) FROM Student WHERE Sdept IN ('計(jì)算機(jī)系', '信息管理系') GROUP BY Sdept 例43. 查詢每個(gè)系年齡小于等于20歲的學(xué)生人數(shù)。SELECT Sdept, COUNT (*) FROM Student WHERE Sage <= 20 GROUP BY Sdept 例44查詢每個(gè)學(xué)生及其選課的詳細(xì)信息。SELECT * FROM Student INNER JOIN SC把2個(gè)表聯(lián)起來(lái)ON Student.Sno = SC.Sno-SELECT Student

16、.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade FROM Student JOIN SC ON Student.Sno = SC.Sno 例46.查詢計(jì)算機(jī)系學(xué)生的修課情況,要求列出學(xué)生的名字、所修課的課程號(hào)和成績(jī)。SELECT Sname, Cno, Grade FROM Student JOIN SC ON Student.Sno = SC.Sno WHERE Sdept = '計(jì)算機(jī)系' 例47. 查詢信息系修了“計(jì)算機(jī)文化學(xué)”課程的學(xué)生信息,要求列出學(xué)生姓名、課程名和成績(jī)。SELECT Sname, Cname, Grade FROM Stud

17、ent s JOIN SC ON s.Sno = SC. Sno JOIN Course c ON c.Cno = SC.Cno WHERE Sdept = '信息系' AND Cname = '計(jì)算機(jī)文化學(xué)' 例48查詢所有修了VB課程的學(xué)生的修課情況,要求列出學(xué)生姓名和所在系。 SELECT Sname, Sdept FROM Student S JOIN SC ON S.Sno = SC. Sno JOIN Course C ON C.Cno = SC.cno WHERE Cname = 'VB' 例49有分組的多表連接查詢。統(tǒng)計(jì)每個(gè)系的學(xué)

18、生考試平均成績(jī)。SELECT Sdept, AVG(grade) as AverageGrade FROM student S JOIN SC ON S.Sno = SC.Sno GROUP BY Sdept 例50有分組和行選擇條件的多表連接查詢。統(tǒng)計(jì)計(jì)算機(jī)系每門(mén)課程的選課人數(shù)、平均成績(jī)、最高成績(jī)和最低成績(jī)。 SELECT Cno, COUNT(*) AS Total, AVG(Grade) as AvgGrade, MAX(Grade) as MaxGrade, MIN(Grade) as MinGrade FROM Student S JOIN SC ON S.Sno = SC.Sno

19、WHERE Sdept = '計(jì)算機(jī)系' GROUP BY Cno 例51. 查詢與劉晨在同一個(gè)系學(xué)習(xí)的學(xué)生的姓名和所在的系。SELECT S2.Sname, S2.Sdept FROM Student S1 JOIN Student S2 ON S1.Sdept = S2.Sdept WHERE S1.Sname = '劉晨' AND S2.Sname != '劉晨' 例52查詢與“操作系統(tǒng)”學(xué)分相同的課程的課程名和學(xué)分。SELECT C1.Cname, C1.Credit FROM Course C1 JOIN Course C2 ON C1

20、.Credit = C2. CreditWHERE C2.Cname = '操作系統(tǒng)' 例53. 查詢學(xué)生的修課情況,包括修了課程的學(xué)生和沒(méi)有修課的學(xué)生。SELECT Student.Sno, Sname, Cno, Grade FROM Student LEFT OUTER JOIN SCON Student.Sno = SC.Sno 例54. 查詢哪些課程沒(méi)有人選,列出其課程名。SELECT Cname FROM Course C LEFT JOIN SC ON C.Cno = SC.Cno WHERE SC.Cno IS NULL 例55. 查詢計(jì)算機(jī)系沒(méi)有選課的學(xué)生,列

21、 出學(xué)生姓名和性別。 SELECT Sname,Sdept,Cno,grade FROM Student S LEFT JOIN SC ON S.Sno = SC.Sno WHERE Sdept = '計(jì)算機(jī)系' AND SC.Sno IS NULL 例56. 統(tǒng)計(jì)計(jì)算機(jī)系每個(gè)學(xué)生的選課門(mén)數(shù),包括沒(méi)有選課的學(xué)生,結(jié)果按選課門(mén)數(shù)遞減排序。 SELECT S.Sno AS 學(xué)號(hào), COUNT(SC.Cno) AS 選課門(mén)數(shù) FROM Student S LEFT JOIN SC ON S.Sno = SC.Sno WHERE Sdept = '計(jì)算機(jī)系' GROUP

22、 BY S.Sno ORDER BY COUNT(SC.Cno) DESC 例57 查詢年齡最大的三個(gè)學(xué)生的姓名、年齡及所在的系。SELECT TOP 3 Sname, Sage, Sdept FROM Student ORDER BY Sage DESC 例58 查詢VB考試成績(jī)最高的前三名的學(xué)生的姓名、所在系和VB考試成績(jī)。SELECT TOP 3 WITH TIES Sname, Sdept, Grade FROM Student S JOIN SC on S.Sno = SC.Sno JOIN Course C ON C.Cno = SC.Cno WHERE Cname = '

23、VB' ORDER BY Grade DESC 例59 查詢選課人數(shù)最少的兩門(mén)課程(不包括沒(méi)有人選的課程),列出課程號(hào)和選課人數(shù)。 SELECT TOP 2 WITH TIES Cno, COUNT(*) 選課人數(shù) FROM SC GROUP BY Cno ORDER BY COUNT(Cno) ASC 例60. 查詢與劉晨在同一個(gè)系的學(xué)生。SELECT Sno, Sname, Sdept FROM StudentWHERE Sdept IN ( SELECT Sdept FROM Student WHERE Sname = '劉晨' ) AND Sname != &#

24、39;劉晨' 例61. 查詢成績(jī)?yōu)榇笥?0分的學(xué)生的學(xué)號(hào)、姓名。SELECT Sno, Sname FROM StudentWHERE Sno IN( SELECT Sno FROM SCWHERE Grade > 90 ) 例62查詢計(jì)算機(jī)系選了“c02”課程的學(xué)生,列出姓名和性別。SELECT Sname, Ssex FROM Student WHERE Sno IN (SELECT Sno FROM SC WHERE Cno = 'c02') AND Sdept = '計(jì)算機(jī)系' 例63. 查詢選修了“VB”課程的學(xué)生的學(xué)號(hào)和姓名。 (1)在

25、Course表中,找出“VB”課程名對(duì)應(yīng)的課程號(hào); (2)根據(jù)得到的“VB”課程號(hào),在SC表中找出選了該課程號(hào)的學(xué)生的學(xué)號(hào); (3)根據(jù)得到的學(xué)號(hào),在Student表中找出對(duì)應(yīng)的學(xué)生的學(xué)號(hào)和姓名。SELECT Sno, Sname FROM Student WHERE Sno IN ( SELECT Sno FROM SC WHERE Cno IN ( SELECT Cno FROM Course WHERE Cname = 'VB') ) 例64. 在選修了VB的這些學(xué)生中,統(tǒng)計(jì)他們的選課門(mén)數(shù)和平均成績(jī)。SELECT Sno 學(xué)號(hào), COUNT(*) 選課門(mén)數(shù), AVG(Gr

26、ade) 平均成績(jī) FROM SC WHERE Sno IN ( -選VB的學(xué)生 SELECT Sno FROM SC JOIN Course C ON C.Cno = SC.Cno WHERE Cname = 'VB') GROUP BY Sno 例65. 查詢選了“c04”號(hào)課程且成績(jī)高于此課程的平均成績(jī)的學(xué)生的學(xué)號(hào)和成績(jī)。 首先計(jì)算“c04”號(hào)課程的平均成績(jī): SELECT AVG(Grade) from SC WHERE Cno = c04 -平均成績(jī)79 然后,查找“c04”號(hào)課程所有的考試成績(jī)中,高于79的學(xué)生: SELECT Sno , Grade FROM SC

27、 WHERE Cno = c04 AND Grade > 79 將兩個(gè)查詢語(yǔ)句合起來(lái)即為滿足我們要求的查詢語(yǔ)句: SELECT Sno , Grade FROM SC WHERE Cno = c04 AND Grade > ( SELECT AVG(Grade) FROM SC WHERE Cno = c04) 例66. 查詢計(jì)算機(jī)系年齡最大的學(xué)生的姓名和年齡。SELECT Sname, Sage FROM Student WHERE Sdept = '計(jì)算機(jī)系' AND Sage = ( SELECT MAX(Sage) FROM Student WHERE Sd

28、ept = '計(jì)算機(jī)系') 例67. 查詢考試平均成績(jī)高于全體學(xué)生的總平均成績(jī)的學(xué)生的學(xué)號(hào)和平均成績(jī)。SELECT Sno, AVG(Grade) 平均成績(jī) FROM SC GROUP BY Sno HAVING AVG(Grade) > ( SELECT AVG(Grade) FROM SC ) 例68. 查詢VB考試成績(jī)高于VB平均成績(jī)的學(xué)生的姓名、所在系和VB成績(jī)。(子查詢是多表查詢)SELECT Sname, Sdept, Grade FROM Student S JOIN SC ON S.Sno = SC.Sno JOIN Course C ON C.Cno =

29、 SC.Cno WHERE Cname = 'VB' AND Grade > ( SELECT AVG(Grade) FROM SC JOIN Course C ON C.Cno = SC.Cno WHERE Cname = 'VB') 例69.查詢選修了c01課程的學(xué)生姓名。 SELECT Sname FROM Student WHERE EXISTS(SELECT * FROM SC WHERE Sno = Student.Sno AND Cno = 'c01') 例71.查詢沒(méi)有選修c01號(hào)課程的學(xué)生姓名和所在系。 SELECT Sn

30、ame, Sdept FROM Student WHERE NOT EXISTS (SELECT * FROM SC WHERE Sno = Student.Sno AND Cno = 'c01') 或:SELECT Sname, Sdept FROM Student WHERE Sno NOT IN ( SELECT Sno FROM SC WHERE Cno = 'c01' ) 例71 查詢計(jì)算機(jī)系沒(méi)有選修“VB”課程的學(xué)生的姓名和性別。SELECT Sname, Ssex FROM Student WHERE Sno NOT IN ( -查詢選了VB的學(xué)生

31、 SELECT Sno FROM SC JOIN Course ON SC.Cno = Course.Cno WHERE Cname = 'VB') AND Sdept = '計(jì)算機(jī)系' 例72將新生記錄(,陳冬,男,18歲,信息系)插入到Student表中。 INSERT INTO Student VALUES ('', '陳冬', '男', 18, '信息系') 例73在SC表中插入一新記錄,學(xué)號(hào)為“”,選的課程號(hào)為“c01”,成績(jī)暫缺。INSERT INTO SC(Sno, Cno) VALU

32、ES('', 'c01) 實(shí)際插入的值為:('', 'c01',NULL) 字符要用單引號(hào) ' ' 數(shù)字不用 例74. 將所有學(xué)生的年齡加1。UPDATE Student SET Sage = Sage + 1 例75. 將學(xué)生的年齡改為21歲。UPDATE Student SET Sage = 21WHERE Sno = ' 例76:將計(jì)算機(jī)系全體學(xué)生的成績(jī)加5分。 (1)用子查詢實(shí)現(xiàn)UPDATE SC SET Grade = Grade + 5 WHERE Sno IN(SELECT Sno FROM Student WHERE Sdept = '計(jì)算機(jī)系' ) (2)用多表連接實(shí)現(xiàn)UPDATE SC SET Grade = Grade + 5 FROM SC JOIN Student ON SC.Sno = Student.Sno WHERE Sdept = &#

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論