日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

《数据库原理与应用》(第三版) 第 6 章 数据操作语句 基础 习题参考答案

發(fā)布時(shí)間:2024/5/7 数据库 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《数据库原理与应用》(第三版) 第 6 章 数据操作语句 基础 习题参考答案 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.簡(jiǎn)單說(shuō)明SELECT語(yǔ)句中,FROM、WHERE、GROUP BY、HAVING子句的作用。
答:FROM子句指定數(shù)據(jù)來(lái)自的表,WHERE子句指定行數(shù)據(jù)的篩選條件,GROUP BY子句指定用于分組的列,HAVING子句用于對(duì)分組后的統(tǒng)計(jì)值進(jìn)行篩選。

2.簡(jiǎn)單說(shuō)明COUNT()與COUNT(列名)的區(qū)別。
答:COUNT()用于統(tǒng)計(jì)行的個(gè)數(shù),并且不忽略NULL;COUNT(列名)用于統(tǒng)計(jì)該列中非空值個(gè)數(shù),這個(gè)函數(shù)會(huì)去掉NULL。

3.在聚合函數(shù)中,不忽略空值的函數(shù)是哪個(gè)?
答:COUNT(*)

4.哪些數(shù)據(jù)類(lèi)型的列可以使用SUM(列名)和AVG(列名)函數(shù)?
答:數(shù)值類(lèi)型的列

5.外連接和內(nèi)連接的區(qū)別是什么?
答:外連接結(jié)果會(huì)包含連接中一個(gè)表的全部數(shù)據(jù),內(nèi)連接結(jié)果是只包含兩個(gè)表中滿(mǎn)足連接條件的數(shù)據(jù)。

6.TOP子句的作用是什么?
答:限定取查詢(xún)結(jié)果中的前若干行數(shù)據(jù)。

7.DISTINCT子句的作用是去掉表中的重復(fù)行數(shù)據(jù),這個(gè)說(shuō)法對(duì)嗎?
答:應(yīng)該是去掉查詢(xún)結(jié)果中的重復(fù)行數(shù)據(jù)。

8.簡(jiǎn)單說(shuō)明嵌套子查詢(xún)的執(zhí)行順序。
答:嵌套子查詢(xún)是先執(zhí)行子查詢(xún),然后在根據(jù)子查詢(xún)結(jié)果執(zhí)行外層查詢(xún)。

上機(jī)練習(xí)
1.查詢(xún)學(xué)生選課表中的全部數(shù)據(jù)。
答:select * from SC

2.查詢(xún)計(jì)算機(jī)系的學(xué)生姓名、年齡。
答:select sname, sage from student where sdept = ‘計(jì)算機(jī)系’

3.查詢(xún)成績(jī)?cè)?0~80分之間的學(xué)生學(xué)號(hào)、課程號(hào)和成績(jī)。
答:select sno,cno,grade from sc
where grade between 70 and 80

4.查詢(xún)計(jì)算機(jī)系年齡在18~20且性別為“男”的學(xué)生姓名、年齡。
答:select sname,sage from student
where sdept = ‘計(jì)算機(jī)系’
and sage between 18 and 20
and ssex = ‘男’

5.查詢(xún)“c01”課程最高分。
答:select max(grade) from sc where cno = ‘C01’

6.查詢(xún)計(jì)算機(jī)系學(xué)生的最大年齡和最小年齡。
答:select max(sage) as max_age, min(sage) as min_age
from student
where sdept = ‘計(jì)算機(jī)系’

7.統(tǒng)計(jì)每個(gè)系的學(xué)生人數(shù)。
答:select sdept, count(*) 學(xué)生人數(shù) from student
group by sdept

8.統(tǒng)計(jì)每個(gè)學(xué)生的選課門(mén)數(shù)和考試總成績(jī),并按選課門(mén)數(shù)升序顯示結(jié)果(不包括沒(méi)選課的學(xué)生)。
答:select sno,count() 選課門(mén)數(shù), sum(grade) 考試總成績(jī)
from sc
group by sno
order by count() asc

9.查詢(xún)總成績(jī)超過(guò)200分的學(xué)生,列出學(xué)號(hào)、總成績(jī)。
答:select sno,sum(grade) 總成績(jī) from sc
group by sno
having sum(grade) > 200

10.查詢(xún)選了“c02”課程的學(xué)生姓名和所在系。
答:select sname,sdept
from student s join sc on s.sno = sc.sno
where cno = ‘C02’

11.查詢(xún)成績(jī)80分以上的學(xué)生姓名、課程號(hào)和成績(jī),并按成績(jī)降序排列結(jié)果。
答:select sname,cno,grade
from student s join sc on s.sno = sc.sno
where grade > 80 order by grade desc

12.查詢(xún)哪些學(xué)生沒(méi)有選課,要求列出學(xué)號(hào)、姓名和所在系。
答:select s.sno, sname, sdept
from student s left join sc on s.sno = sc.sno
Where sc.sno is null

13.統(tǒng)計(jì)每門(mén)課程的選課人數(shù),列出課程號(hào)和選課人數(shù)。( 包括沒(méi)人選的課程)
答:select c.cno,count(sc.cno) 選課人數(shù)
from course c left join sc on c.cno = sc.cno
Group by c.cno

14.查詢(xún)與VB在同一學(xué)期開(kāi)設(shè)的課程的課程名和開(kāi)課學(xué)期。
答:select c2.cname,c2.semester
from course c1 join course c2 on c1.semester = c2.semester
Where c1.cname = ‘VB’ and c1.cname != ‘VB’

15.查詢(xún)與李勇年齡相同的學(xué)生的姓名、所在系和年齡。
答:select S2.Sname,S2.Sdept, S2.sage
from student s1 join student s2 on s1.sage = s2.sage
Where s1.sname = ‘李勇’ and s2.sname != ‘李勇’

16.查詢(xún)計(jì)算機(jī)系年齡最小的2名學(xué)生的姓名和年齡。
答:select top 2 with ties sname, sage
from student
Where sdept = ‘計(jì)算機(jī)系’
Order by sage asc

17.查詢(xún)VB成績(jī)最高的前2名學(xué)生的姓名、所在系和VB成績(jī),包括并列的情況。
答:select top 2 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 = ‘VB’
Order by grade desc

18.查詢(xún)選課門(mén)數(shù)最多的前2名學(xué)生的學(xué)號(hào)和選課門(mén)數(shù),包括并列的情況。
答:select top 2 with ties sno, count() 選課門(mén)數(shù)
from sc
Group by sno
Order by count() desc

19.查詢(xún)學(xué)生人數(shù)最多的系,列出系名和人數(shù)。
答:select top 1 with ties sdept, count() 人數(shù)
from student
Group by sdept
Order by count() desc

20.用子查詢(xún)實(shí)現(xiàn)如下查詢(xún):
(1) 查詢(xún)選修了“c01”號(hào)課程的學(xué)生姓名和所在系。
答:select sname, sdept from student where sno in(
select sno from sc where cno = ’ C01’)

(2) 查詢(xún)數(shù)學(xué)系成績(jī)80分以上的學(xué)生學(xué)號(hào)、姓名、課程號(hào)和成績(jī)。
答:select sno,sname,cno,grade
from student s join sc on s.sno = sc.sno
where s.sno in(
select sno from sc where grade > 80)
and sdept = ‘?dāng)?shù)學(xué)系’

(3) 查詢(xún)計(jì)算機(jī)系考試成績(jī)最高的學(xué)生姓名。
答:select sname from student
where sno in(
select top 1 sno from sc join student s on s.sno = sc.sno
where sdept = ‘計(jì)算機(jī)系’
Order by grade desc )

(4) 查詢(xún)數(shù)據(jù)結(jié)構(gòu)考試成績(jī)最高的學(xué)生姓名、所在系、性別和成績(jī)。
答:select sname,sdept,ssex,grade
from student s join sc on s.sno = sc.sno
where s.sno in(
Select top 1 sno from sc join course c on c.cno = sc.cno
Where cname = ‘?dāng)?shù)據(jù)結(jié)構(gòu)’
Order by grade desc )

21.查詢(xún)沒(méi)選VB課程的學(xué)生姓名和所在系。
答:select sname,sdept from student
Where sno not in (
Select sno from sc join course c on c.cno = sc.cno
Where cname = ‘VB’ )

22.查詢(xún)計(jì)算機(jī)系沒(méi)選課的學(xué)生的姓名和性別。
答:select sname,ssex from student
Where sdept = ‘計(jì)算機(jī)系’
And sno not in (
Select sno from sc )

23.查詢(xún)計(jì)算機(jī)系考試平均成績(jī)最低的學(xué)生的姓名及所選的課程名。
答:select sname,cname from student s join sc on s.sno = sc.sno
Join course c on c.cno = sc.cno
where s.sno in (
Select top 1 sno from sc
Where sdept = ‘計(jì)算機(jī)系’
Group by sno
Order by avg(grade) asc )

24.查詢(xún)1~5學(xué)期中,選課人數(shù)最少的課程的課程名、開(kāi)課學(xué)期和學(xué)分。
答:select cname,semester,credit from course
Where semester between 1 and 5
And cno in (
Select top 1 cno from sc
Group by cno
Order by count(*) desc )

25.查詢(xún)計(jì)算機(jī)系每個(gè)學(xué)生的考試情況,列出姓名、課程名和考試成績(jī),并將查詢(xún)結(jié)果保存到一個(gè)新表中。新表名為:Computer_Dept
答:select sname,cname,grade into Computer_Dept
from student s join sc on s.sno = sc.sno
Join course c on c.cno = sc.cno
Where sdept = ‘計(jì)算機(jī)系’

26.創(chuàng)建一個(gè)新表,表名為test_t,其結(jié)構(gòu)為:(COL1, COL 2, COL 3),其中:
COL1:整型,允許空值。
COL2:普通編碼字符型,長(zhǎng)度為10 ,不允許空值。
COL3:普通編碼字符型,長(zhǎng)度為10 ,允許空值。
試寫(xiě)出按行插入如下數(shù)據(jù)的語(yǔ)句(空白處表示空值)。
COL1 COL2 COL3
B1
1 B2 C2
2 B3
答:create table test_t(
Col1 int,
Col2 char(10) not null,
Col3 char(10)
)
Insert into test_t values(null,‘B1’,null)
Insert into test_t values(1,‘B2’,‘C2’)
Insert into test_t values(2,‘B3’’,null)

27.刪除考試成績(jī)低于50分的學(xué)生的選課記錄。
答:delete from sc where grade < 50

28.刪除沒(méi)有人選的課程。
答:delete from course where cno not in(
Select cno from sc )

29.刪除計(jì)算機(jī)系VB成績(jī)不及格學(xué)生的VB選課記錄。
答:delete from sc
From student s join sc on s.sno = sc.cno
Join course c on c.cno = sc.cno
where sdept = ‘計(jì)算機(jī)系’ and cname = ‘VB’
and grade < 60

30.刪除VB考試成績(jī)最低的學(xué)生的VB選課記錄。
答:delete from sc
From course c join sc on c.cno = sc.cno
Where cname = ‘VB’
And grade = (
Select min(grade) from sc
Join course c on c.cno = sc.cno
Where cname = ‘VB’)

31.將第2學(xué)期開(kāi)設(shè)的所有課程的學(xué)分增加2分。
答:update course set credit = credit + 2
Where semester = 2

32.將VB課程的學(xué)分改為3分。
答:update course set credit = 3
Where cname = ‘VB’

33.將計(jì)算機(jī)系學(xué)生的年齡增加1歲。
答:update student set sage = sage + 1
where sdept = ‘計(jì)算機(jī)系’

34.將信息系學(xué)生的“計(jì)算機(jī)文化學(xué)”課程的考試成績(jī)加5分。
答:update sc set grade = grade + 5
From student s join sc on s.sno = sc.sno
Join course c on c.cno = sc.cno
Where sdept = ‘信息系’
And cname = ‘計(jì)算機(jī)文化學(xué)’

35.將選課人數(shù)最少的課程的學(xué)分降低1分。
答:update course set credit = credit - 1
Where cno in (
Select top 1 cno from sc
Group by cno
Order by count(*) asc )

總結(jié)

以上是生活随笔為你收集整理的《数据库原理与应用》(第三版) 第 6 章 数据操作语句 基础 习题参考答案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。