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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人文社科 > 生活经验 >内容正文

生活经验

数据库练习1

發(fā)布時(shí)間:2023/11/27 生活经验 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库练习1 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
--37、查詢Student表中不姓“王”的同學(xué)記錄。
SELECT * FROM student s WHERE sname NOT LIKE ('%王%')

不用加is

--35、查詢所有未講課的教師的Tname和Depart.
SELECT t.tname,t.depart FROM teacher t WHERE tno NOT IN (SELECT c.tno FROM course c JOIN teacher t ON c.tno=t.tno)
多行子查詢 用 in any all
SELECT t.tname,t.depart FROM teacher t WHERE tno NOT IN (SELECT c.tno FROM course c JOIN teacher t ON c.tno=t.tno)

?

SELECT * FROM student s;
SELECT * FROM teacher t;
SELECT * FROM score sc ;
SELECT * FROM course c ;
SELECT * FROM grade g ;
--1、 查詢Student表中的所有記錄的Sname、Ssex和Class列。
SELECT s.sname,s.ssex,s.class FROM student s
--2、 查詢教師所有的單位,即不重復(fù)的Depart列。
SELECT DISTINCT t.depart FROM teacher t
--3、 查詢Student表的所有記錄。
SELECT * FROM student s
--4、 查詢Score表中成績(jī)?cè)?0到80之間的所有記錄。
SELECT * FROM score sc WHERE sc.degree BETWEEN 60 AND 80
--5、 查詢Score表中成績(jī)?yōu)?5,86或88的記錄。
SELECT * FROM score sc WHERE sc.degree IN (85,86,88)
--6、 查詢Student表中“95031”班或性別為“女”的同學(xué)記錄。
SELECT * FROM student s WHERE s.class=95031 OR s.ssex='女'
--7、 以Class降序查詢Student表的所有記錄。
SELECT * FROM student s ORDER BY s.class DESC
--8、 以Cno升序、Degree降序查詢Score表的所有記錄。
SELECT * FROM score sc ORDER BY sc.cno ASC,sc.degree DESC
--9、 查詢“95031”班的學(xué)生人數(shù)。
SELECT COUNT(s.class) FROM student s WHERE s.class=95031
--10、查詢Score表中的最高分的學(xué)生學(xué)號(hào)和課程號(hào)。
SELECT * FROM score sc WHERE sc.degree=(SELECT MAX(sc.degree) FROM score sc )
--11、查詢‘3-105’號(hào)課程的平均分。
SELECT AVG(sc.degree) FROM score sc WHERE sc.cno='3-105'
--12、查詢Score表中至少有5名學(xué)生選修的并以3開頭的課程的平均分?jǐn)?shù)。
SELECT AVG(sc.degree) FROM score sc WHERE sc.cno LIKE('%3%') GROUP BY sc.cno HAVING COUNT(sc.sno)>=5
--13、查詢最低分大于70,最高分小于90的Sno列。
SELECT sc.sno,sc.degree FROM score sc WHERE sc.degree>70 AND sc.degree<90
--14、查詢所有學(xué)生的Sname、Cno和Degree列。
SELECT s.sname,sc.cno,sc.degree FROM student s,score sc WHERE s.sno=sc.sno
--15、查詢所有學(xué)生的Sno、Cname和Degree列。
SELECT s.sno,c.cname,sc.degree FROM student s,course c,score sc WHERE s.sno=sc.sno AND c.cno=sc.cno
--16、查詢所有學(xué)生的Sname、Cname和Degree列。
SELECT s.sname,c.cname,sc.degree FROM student s,course c,score sc WHERE s.sno=sc.sno AND c.cno=sc.cno
--17、查詢“95033”班所選課程的平均分。
SELECT AVG(sc.degree) FROM score sc JOIN student s ON sc.sno=s.sno WHERE s.class=95033
--18、假設(shè)使用如下命令建立了一個(gè)grade表:
--create table grade
--(low number,
--upp number,
--rank char(1));
--insert into grade values(90,100,'A');
--insert into grade values(80,89,'B');
--insert into grade values(70,79,'C');
--insert into grade values(60,69,'D');
--insert into grade values(0,59,'E');
--commit;
--現(xiàn)查詢所有同學(xué)的Sno、Cno和rank列。
SELECT sc.sno,sc.cno,
CASE WHEN sc.degree >90 AND sc.degree<100 THEN 'A'
WHEN sc.degree >80 AND sc.degree<89 THEN 'B' WHEN sc.degree >70 AND sc.degree<79 THEN 'C'
WHEN sc.degree >60 AND sc.degree<69 THEN 'D' ELSE 'E' END rank
FROM score sc
--19、查詢選修“3-105”課程的成績(jī)高于“109”號(hào)同學(xué)成績(jī)的所有同學(xué)的記錄。
SELECT * FROM score sc WHERE sc.cno='3-105' AND sc.degree > (SELECT sc.degree FROM score sc WHERE sc.sno=109 AND sc.cno='3-105')
--20、查詢score中選學(xué)一門以上課程的同學(xué)中分?jǐn)?shù)為非最高分成績(jī)的記錄
SELECT sc2.* FROM score sc2
WHERE sc2.cno IN (SELECT sc.cno FROM score sc GROUP BY sc.cno HAVING COUNT(*)>1 )
AND sc2.degree!=(SELECT MAX(sc1.degree) FROM score sc1 )
--21、查詢成績(jī)高于學(xué)號(hào)為“109”、課程號(hào)為“3-105”的成績(jī)的所有記錄。
SELECT * FROM score sc WHERE sc.cno='3-105' AND sc.degree > (SELECT sc.degree FROM score sc WHERE sc.sno=109 AND sc.cno='3-105')
--22、查詢和學(xué)號(hào)為108的同學(xué)同年出生的所有學(xué)生的Sno、Sname和Sbirthday列。
SELECT s.sno,s.sname,s.sbirthday FROM student s WHERE s.sbirthday=(SELECT s.sbirthday FROM student s WHERE s.sno=108)
--23、查詢“張旭“教師任課的學(xué)生成績(jī)。
SELECT sc.*FROM score sc JOIN course c ON sc.cno =c.cno JOIN teacher t ON c.tno=t.tno WHERE t.tname='張旭'
--24、查詢選修某課程的同學(xué)人數(shù)多于5人的教師姓名。
SELECT t.tname FROM teacher t
WHERE t.tno=(SELECT c.tno FROM course c
WHERE c.cno=(SELECT sc.cno FROM score sc GROUP BY sc.cno HAVING COUNT(sc.sno)>5))
--25、查詢95033班和95031班全體學(xué)生的記錄。
SELECT * FROM student s JOIN score sc ON s.sno = sc.sno JOIN course c ON c.cno=sc.cno
--26、查詢存在有85分以上成績(jī)的課程Cno.
SELECT c.cno,sc.degree FROM score sc JOIN course c ON sc.cno=c.cno WHERE sc.degree>85
--27、查詢出“計(jì)算機(jī)系“教師所教課程的成績(jī)表。
SELECT sc.degree,t.depart FROM score sc JOIN course c ON sc.cno=c.cno JOIN teacher t ON c.tno=t.tno WHERE t.depart='計(jì)算機(jī)系'
--28、查詢“計(jì)算機(jī)系”與“電子工程系“不同職稱的教師的Tname和Prof。
SELECT t.tname,t.prof,t.depart FROM teacher t ORDER BY t.depart
--29、查詢選修編號(hào)為“3-105“且成績(jī)至少高于選修編號(hào)為“3-245”的同學(xué)的Cno、Sno和Degree,并按Degree從高到低次序排序。
SELECT * FROM score sc
WHERE sc.cno='3-105' AND sc.degree >(SELECT MIN (sc.degree) FROM score sc WHERE sc.cno='3-245') ORDER BY sc.degree
--30、查詢選修編號(hào)為“3-105”且成績(jī)高于選修編號(hào)為“3-245”的同學(xué)的Cno、Sno和Degree.
SELECT * FROM score sc
WHERE sc.cno='3-105' AND sc.degree >(SELECT MAX (sc.degree) FROM score sc WHERE sc.cno='3-245')
--31、查詢所有教師和同學(xué)的name、sex和birthday.
--SELECT DISTINCT s.sname,s.ssex,s.sbirthday , t.tname,t.tsex,t.tbirthday
--FROM student s JOIN score sc ON s.sno=sc.sno JOIN course c ON c.cno=sc.cno right JOIN teacher t ON c.tno=t.tno
SELECT s.sname,s.ssex,s.sbirthday FROM student s
union--鏈接兩個(gè)查詢結(jié)果,要求必須含有相同字段和相同的字段類型
SELECT t.tname,t.tsex,t.tbirthday FROM teacher t
--32、查詢所有“女”教師和“女”同學(xué)的name、sex和birthday.
--SELECT s.sname,s.ssex,s.sbirthday , t.tname,t.tsex,t.tbirthday
--FROM student s JOIN score sc ON s.sno=sc.sno JOIN course c ON c.cno=sc.cno
--JOIN teacher t ON c.tno=t.tno WHERE t.tsex='女' AND s.ssex='女'
SELECT s.sname,s.ssex,s.sbirthday FROM student s WHERE s.ssex='女'
union
SELECT t.tname,t.tsex,t.tbirthday FROM teacher t WHERE t.tsex='女'
--33、查詢成績(jī)比該課程平均成績(jī)低的同學(xué)的成績(jī)表。
SELECT * FROM score sc1 WHERE sc1.degree < (SELECT AVG(sc2.degree) FROM score sc2 WHERE sc1.cno=sc2.cno GROUP BY sc2.cno)
--34、查詢所有任課教師的Tname和Depart.
SELECT t.tname,t.depart FROM teacher t JOIN course c ON t.tno=c.tno
--35、查詢所有未講課的教師的Tname和Depart.
SELECT t.tname,t.depart FROM teacher t WHERE tno NOT IN (SELECT c.tno FROM course c JOIN teacher t ON c.tno=t.tno)
--36、查詢至少有2名男生的班號(hào)。
SELECT DISTINCT s.class FROM student s
WHERE s.ssex='男' AND s.class IN (SELECT s.class FROM student s HAVING COUNT(s.sno)>2 GROUP BY s.class)
--37、查詢Student表中不姓“王”的同學(xué)記錄。
SELECT * FROM student s WHERE sname NOT LIKE ('%王%')
--38、查詢Student表中每個(gè)學(xué)生的姓名和年齡。
SELECT s.sname,(to_char(SYSDATE,'yyyy') - to_char(s.sbirthday,'yyyy'))年齡 FROM student s
--39、查詢Student表中最大和最小的Sbirthday日期值。
SELECT MAX (s.sbirthday) , MIN (s.sbirthday) FROM student s
--40、以班號(hào)和年齡從大到小的順序查詢Student表中的全部記錄。
SELECT s.*,(to_char(SYSDATE,'yyyy') - to_char(s.sbirthday,'yyyy'))年齡 FROM student s
ORDER BY s.class DESC,(to_char(SYSDATE,'yyyy') - to_char(s.sbirthday,'yyyy')) DESC
--41、查詢“男”教師及其所上的課程。
SELECT t.tname,t.tno,c.cname FROM teacher t JOIN course c ON t.tno=c.tno WHERE t.tsex='男'
--42、查詢最高分同學(xué)的Sno、Cno和Degree列。
SELECT sc.sno,sc.cno,sc.degree FROM score sc WHERE sc.degree=(SELECT MAX(sc.degree) FROM score sc )
--43、查詢和“李軍”同性別的所有同學(xué)的Sname.
SELECT s.sname FROM student s WHERE s.ssex=(SELECT s.ssex FROM student s WHERE s.sname='李軍') AND s.sname<>'李軍'
--44、查詢和“李軍”同性別并同班的同學(xué)Sname.
SELECT s.sname FROM student s
WHERE s.ssex=(SELECT s.ssex FROM student s WHERE s.sname='李軍')
AND s.class=(SELECT s.class FROM student s WHERE s.sname='李軍') AND s.sname<>'李軍'
--45、查詢所有選修“計(jì)算機(jī)導(dǎo)論”課程的“男”同學(xué)的成績(jī)表
SELECT sc.degree FROM score sc
WHERE sc.cno=(SELECT c.cno FROM course c WHERE c.cname='計(jì)算機(jī)導(dǎo)論') AND sc.sno IN (SELECT s.sno FROM student s WHERE s.ssex='男')

?

轉(zhuǎn)載于:https://www.cnblogs.com/NCL--/p/7357401.html

總結(jié)

以上是生活随笔為你收集整理的数据库练习1的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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