--1.查詢?nèi)繉W(xué)生的姓名和所學(xué)的課程名稱及成績

創(chuàng)新互聯(lián)公司主要從事網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)湘橋,10年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
select s.Sname,o.Cname,c.Grade from Student s,enrolls c,Courses o where s.Sno=c.Sno and c.Cno=o.Cno
--2.找出所有學(xué)生的平均成績和所學(xué)課程門數(shù)
select Sno,avg(grade) as '平均成績',count(*) as '所學(xué)課程門數(shù)' from enrolls group by Sno;
--3.找出各課程的平均成績,按課程號分組,且只選擇學(xué)生超過3人的課程的成績
select enrolls.Cno,cname,avg(grade) as '平均成績' from enrolls,Courses where enrolls.cno=Courses.cno group by enrolls.Cno,cname having count(*)=3;
--4.找出選修了全部課程的學(xué)生的姓名
select Sname from student where sno in(select sno from enrolls group by Sno having count(sno)=(select count(cno) from Courses))
1、忍不住想說一句,因為第一題中的字段類型是 【日期型】,而各種數(shù)據(jù)庫操作日期型數(shù)據(jù)有不同的方法,沒有一種共通的方法,所以脫離了數(shù)據(jù)庫而言沒有一種共通的sql。
2、select ID,NAME,ADDRESS,PHONE,LOGDATE from T
where ID in( select ID from T group by NAME having count(*)1)
order by NAME;
3、delete from T where ID not in
(select min(id) from T group by name);
4、update T
set T.ADDRESS=(select E.ADDRESS from E where E.NAME=T.NAME),
T.PHONE=(select E.PHONE from E where E.NAME=T.NAME);
5、這個不同的數(shù)據(jù)庫也有不同的處理方法,不能脫離數(shù)據(jù)庫談了。
如:SqlServer或者access可以使用 top
oracle可以使用 rownum 等
---
以上,希望對你有所幫助。
Student(s_id,s_name,s_birth,s_sex) --學(xué)生編號,學(xué)生姓名, 出生年月,學(xué)生性別
–2.課程表
Course(c_id,c_name,t_id) – --課程編號, 課程名稱, 教師編號
–3.教師表
Teacher(t_id,t_name) --教師編號,教師姓名
–4.成績表
Score(s_id,c_id,s_score) --學(xué)生編號,課程編號,分數(shù)
1、查詢"01"課程比"02"課程成績高的學(xué)生的信息及課程分數(shù)
2、查詢"01"課程比"02"課程成績低的學(xué)生的信息及課程分數(shù)
3、查詢平均成績大于等于60分的同學(xué)的學(xué)生編號和學(xué)生姓名和平均成績
4、查詢平均成績小于60分的同學(xué)的學(xué)生編號和學(xué)生姓名和平均成績
5、查詢所有同學(xué)的學(xué)生編號、學(xué)生姓名、選課總數(shù)、所有課程的總成績
6、查詢"李"姓老師的數(shù)量
7、查詢學(xué)過"張三"老師授課的同學(xué)的信息
8、查詢沒學(xué)過"張三"老師授課的同學(xué)的信息
9、查詢學(xué)過編號為"01"并且也學(xué)過編號為"02"的課程的同學(xué)的信息
10、查詢學(xué)過編號為"01"但是沒有學(xué)過編號為"02"的課程的同學(xué)的信息
11、查詢沒有學(xué)全所有課程的同學(xué)的信息
*12、查詢至少有一門課與學(xué)號為"01"的同學(xué)所學(xué)相同的同學(xué)的信息 **
13、查詢和"01"號的同學(xué)學(xué)習(xí)的課程完全相同的其他同學(xué)的信息 (不會)
14、查詢沒學(xué)過"張三"老師講授的任一門課程的學(xué)生姓名
-- [分析] 方法一:瘋狂子查詢
方法二:子查詢+內(nèi)聯(lián)結(jié)
15、查詢兩門及其以上不及格課程的同學(xué)的學(xué)號,姓名及其平均成績
16、檢索"01"課程分數(shù)小于60,按分數(shù)降序排列的學(xué)生信息
17、按平均成績從高到低顯示所有學(xué)生的所有課程的成績以及平均成績(重要!)
-- 18.查詢各科成績最高分、最低分和平均分:以如下形式顯示:課程ID,課程name,最高分,最低分,平均分,及格率,中等率,優(yōu)良率,優(yōu)秀率--及格為=60,中等為:70-80,優(yōu)良為:80-90,優(yōu)秀為:=90(重要!)
19、按各科成績進行排序,并顯示排名(涉及到TopN問題,重要!!!)
20、查詢學(xué)生的總成績并進行排名
21、查詢不同老師所教不同課程平均分從高到低顯示
22、查詢所有課程的成績第2名到第3名的學(xué)生信息及該課程成績
23、統(tǒng)計各科成績各分數(shù)段人數(shù):課程編號,課程名稱,[100-85],[85-70],[70-60],[0-60]及所占百分比
24、查詢學(xué)生平均成績及其名次
25、查詢各科成績前三名的記錄(重要!!!!!)
26、查詢每門課程被選修的學(xué)生數(shù)
27、查詢出只有兩門課程的全部學(xué)生的學(xué)號和姓名
28、查詢男生、女生人數(shù)
29、查詢名字中含有"風(fēng)"字的學(xué)生信息
-- [分析] 考察字符串模糊查詢,之前我的sql學(xué)習(xí)筆記中有詳細記錄
30、查詢同名同性學(xué)生名單,并統(tǒng)計同名人數(shù)(重要!!!!!)
31、查詢1990年出生的學(xué)生名單
32、查詢每門課程的平均成績,結(jié)果按平均成績降序排列,平均成績相同時,按課程編號升序排列
33、查詢平均成績大于等于85的所有學(xué)生的學(xué)號、姓名和平均成績
34、查詢課程名稱為"數(shù)學(xué)",且分數(shù)低于60的學(xué)生姓名和分數(shù)
35、查詢所有學(xué)生的課程及分數(shù)情況;
36、查詢?nèi)魏我婚T課程成績在70分以上的姓名、課程名稱和分數(shù);
37、查詢不及格的課程
38、查詢課程編號為01且課程成績在80分以上的學(xué)生的學(xué)號和姓名;
39、求每門課程的學(xué)生人數(shù)
40、查詢選修"張三"老師所授課程的學(xué)生中,成績最高的學(xué)生信息及其成績
41、查詢不同課程成績相同的學(xué)生的學(xué)生編號、課程編號、學(xué)生成績 (重要!!!!)
42、查詢每門功成績最好的前兩名
43、統(tǒng)計每門課程的學(xué)生選修人數(shù)(超過5人的課程才統(tǒng)計)。要求輸出課程號和選修人數(shù),查詢結(jié)果按人數(shù)降序排列,若人數(shù)相同,按課程號升序排列
44、檢索至少選修兩門課程的學(xué)生學(xué)號
45、查詢選修了全部課程的學(xué)生信息
46、查詢各學(xué)生的年齡 按照出生日期來算,當前月日 出生年月的月日則,年齡減一
47、查詢本周過生日的學(xué)生
48、查詢下周過生日的學(xué)生
49、查詢本月過生日的學(xué)生
50、查詢下月過生日的學(xué)生
1、可能會問nosql和關(guān)系型數(shù)據(jù)庫的區(qū)別:
優(yōu)點:
1)成本:nosql數(shù)據(jù)庫簡單易部署,基本都是開源軟件,不需要像使用Oracle那樣花費大量成本購買使用,相比關(guān)系型數(shù)據(jù)庫價格便宜
2)查詢速度:nosql數(shù)據(jù)庫將數(shù)據(jù)存儲于緩存之中,關(guān)系型數(shù)據(jù)庫將數(shù)據(jù)存儲在硬盤中,自然查詢速度遠不及nosql數(shù)據(jù)庫
3)存儲數(shù)據(jù)的格式:nosql的存儲格式是key,value形式、文檔形式、圖片形式等等,所以可以存儲基礎(chǔ)類型以及對象或者是集合等各種格式,而數(shù)據(jù)庫則只支持基礎(chǔ)類型
4)擴展性:關(guān)系型數(shù)據(jù)庫有類似join這樣的多表查詢機制的限制導(dǎo)致擴展很艱難
缺點:
1)維護的工具和資料有限,因為nosql是屬于新的技術(shù),不能和關(guān)系型數(shù)據(jù)庫10幾年的技術(shù)同日而語。
2)不提供對sql的支持,如果不支持sql這樣的工業(yè)標準,將產(chǎn)生一定用戶的學(xué)習(xí)和使用成本
3)不提供關(guān)系型數(shù)據(jù)庫對事物的處理
2、介紹下redis和mongodb:
自行g(shù)oogle。
3、應(yīng)用場景:
redis:
a.主要是做熱點數(shù)據(jù)緩存。
b.數(shù)據(jù)過期處理。
c.消息隊列等功能。
d.計數(shù),例如投票等。
mongodb:
mongodb的主要目標是在鍵/值存儲方式(提供了高性能和高度伸縮性)以及傳統(tǒng)的RDBMS系統(tǒng)(豐富的功能)架起一座橋梁,集兩者的優(yōu)勢于一身。mongo適用于以下場景:
a.網(wǎng)站數(shù)據(jù):mongo非常適合實時的插入,更新與查詢,并具備網(wǎng)站實時數(shù)據(jù)存儲所需的復(fù)制及高度伸縮性。
b.緩存:由于性能很高,mongo也適合作為信息基礎(chǔ)設(shè)施的緩存層。在系統(tǒng)重啟之后,由mongo搭建的持久化緩存可以避免下層的數(shù)據(jù)源過載。
c.大尺寸、低價值的數(shù)據(jù):使用傳統(tǒng)的關(guān)系數(shù)據(jù)庫存儲一些數(shù)據(jù)時可能會比較貴,在此之前,很多程序員往往會選擇傳統(tǒng)的文件進行存儲。
d.高伸縮性的場景:mongo非常適合由數(shù)十或者數(shù)百臺服務(wù)器組成的數(shù)據(jù)庫。
e.用于對象及JSON數(shù)據(jù)的存儲:mongo的BSON數(shù)據(jù)格式非常適合文檔格式化的存儲及查詢。
4、支持的數(shù)據(jù)類型:
內(nèi)容比較多,自行將網(wǎng)上的信息整理一下。
網(wǎng)頁標題:nosql常見面試,nosql面試題
標題鏈接:http://chinadenli.net/article27/dsiiccj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、關(guān)鍵詞優(yōu)化、電子商務(wù)、App開發(fā)、外貿(mào)網(wǎng)站建設(shè)、手機網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)