教学思路SQL之入门习题《学生成绩》 二、基础单表查询
根據查詢要求,寫出SQL腳本:
?
1、??? 查詢學生信息表,查找學生的姓名,性別,并將查詢結果按姓名進行排序。
? 2、查詢學生信息表,查找地區在大連的學生,顯示其姓名,聯系電話,地區。
3、??? 查詢學生信息表,查找性別為女,并且地區不在大連的學生,顯示其姓名,年齡及聯系電話,地區。
4、??? 練習通過as對字段進行重命名,實現兩列合并顯示,如外國人名中姓+名的正常顯示。?
5、??? 查詢學生信息表,查找地區為空的學生的姓名,性別,聯系電話。
6、??? 查詢成績表,查找課程編號為2的成績最好的2名學生的編號。
7、?查詢學生信息表,查找學生來自于哪些地區,顯示地區時不重復。
8、??? 查詢學生信息表,查找姓李的學生的姓名,性別,聯系電話,地區。
9、??? 查詢學生信息表,查找學生姓名中,第二個字符為“大”的學生的姓名,性別,聯系電話,地區。
10、查詢學生信息表,查找地區為空的學生的姓名,性別,聯系電話,地區。
11、?查詢成績表,查找課程編號為2的課程,顯示此門課程成績在60――70分之間的學生編號。
12、查詢學生信息表,地區中包含0-4的值的字段。
13、查詢學生信息表,查找地區在大連、鞍山的學生姓名,聯系電話。
14、?查詢學生信息表,查找學生姓名中,第二個字符不為“大”的學生的姓名,性別,聯系電話,地區。
15、?查詢成績表,查找課程編號為1的課程的平均成績。
16、查詢成績表,顯示課程編號為2的課程的最高分,最低分。
17、查詢成績表,利用count函數查找課程編號為2的課程及格的人數。
18、?查詢成績表,顯示每門課程的平均成績。
19、查詢成績表,顯示每個人的總成績。
20、查詢成績表,利用group by及having,顯示總成績超過100分的學生的編號。
21、??? 查詢學生的注冊日期,要求只顯示年月日即可,無需時間。
22、??? 將編號為2的成績乘與%5后再加10分做為加權分數列升序輸出。
23、??? 查詢成績表,按照成績及學號進行升序排序,成績比學號的排列優先級要高。
?
?
?
?
答案1、????查詢學生信息表,查找學生的姓名,性別,并將查詢結果按姓名進行排序。
select?name,sex??from?student?order?by?name?desc
2、????查詢學生信息表,查找地區在大連的學生,顯示其姓名,聯系電話,地區。
select?name,lianxidianhua,diqu?from?student?where?diqu='大連'
3、????查詢學生信息表,查找性別為女,并且地區不在大連的學生,顯示其姓名,年齡及聯系電話,地區。
select?name,diqu?from?student?where?sex='????女'?and?diqu?<>'大連'
4、????練習通過as對字段進行重命名,實現兩列合并顯示,如外國人名中姓+名的正常顯示。
select?name+diqu?as?姓名和地區from?student
5、????查詢學生信息表,查找地區為空的學生的姓名,性別,聯系電話。
select?xingming,sex?from?student?where?diqu=NULL
6、????查詢成績表,查找課程編號為2的成績最好的2名學生的編號。
select?top?2?number?from?chengji?where?scorenumber=2?order?by?score?desc
7、????查詢學生信息表,查找學生來自于哪些地區,顯示地區時不重復。
select?DISTINCT?diqu?from?student
8、????查詢學生信息表,查找姓李的學生的姓名,性別,聯系電話,地區。
select?name,sex,lianxidianhua,diqu?from?student?where?name?like?'李%'
9、????查詢學生信息表,查找學生姓名中,第二個字符為“大”的學生的姓名,性別,聯系電話,地區。
select?name,sex,lianxidianhua,diqu?from?student?where?name?like?'_大%'
10、????查詢學生信息表,查找地區為空的學生的姓名,性別,聯系電話,地區。體會is?null與長度為0的字符串’?’?之間的區別。
select?name,sex,lianxidianhua,diqu?from?student?where?diqu?is?null
11、????查詢成績表,查找課程編號為2的課程,顯示此門課程成績在60――70分之間的學生編號。
select?number?from?chengji?where?score?between?60?and?70?and?scorenumber=2
12、????查詢學生信息表,地區中包含0-4的值的字段。
select??diqu?from?student?where?diqu?like?'%[0-4]%'
13、????查詢學生信息表,查找地區在大連、鞍山的學生姓名,聯系電話。
?????select??name,lianxidianhua?from?student?where?diqu?='大連'?or?diqu='鞍山'
?????select??name,lianxidianhua?from?student?where?diqu?in('大連','鞍山')
14、????查詢學生信息表,查找學生姓名中,第二個字符不為“大”的學生的姓名,性別,聯系電話,地區。
select?name,sex,lianxidianhua,diqu?from?student?where?diqu?like?'_[^大]%'
15、????查詢成績表,查找課程編號為1的課程的平均成績。
select?AVG(score)?as?平均成績from?chengji?where?scorenumber=1
16、????查詢成績表,顯示課程編號為2的課程的最高分,最低分。
select?Max(score)?as?最高分,min(score)?as?最低分from?chengji?where?scorenumber=1
17、????查詢成績表,利用count函數查找課程編號為2的課程及格的人數。
select?count(*)?as?及格人數from?chengji?where?scorenumber=2?and?score>=60
18、????查詢成績表,顯示每門課程的平均成績。
select?avg(score)?as?平均分,scorenumber?from?chengji?group?by?scorenumber?
19、????查詢成績表,顯示每個人的總成績。
select?sum(score)?as?總分,number?from?chengji?group?by?number
20、????查詢成績表,利用group?by及having,顯示總成績超過100分的學生的編號。
select?number?from?chengji??group?by?number?having?sum(score)>100
21、????查詢出所有參加考試的學生的平均分,顯示要求:如58分。
select?number,convert(char(4),avg(?score))+'分'?from?chengji?group?by?number,scorenumber
cast?(avg(score)?as?char(4))
22、????查詢學生的注冊日期,要求只顯示年月日即可,無需時間。
Select?number,name,sex,age,convert(char(10),datetime,120)
,diqu,lianxidianhua?from?student
23、????將編號為2的成績乘與%5后再加10分做為加權分數列升序輸出。
SELECT?number?As?學員編號,(Score*0.9+10)?As?加權成績??FROM?chengji?where?scorenumber=2??ORDER?BY?Score(默認省略asc升序)
24、????查詢成績表,按照成績及學號進行升序排序,成績比學號的排列優先級要高。
select?scorenumber?as?科目,number?as?學號,SUM(score)?as?總分?from?chengji???group?by?number,scorenumber?order?by?sum(score)?desc?,number?desc
?
?
?
?
?
轉載于:https://www.cnblogs.com/wlly216/archive/2011/11/01/2231863.html
總結
以上是生活随笔為你收集整理的教学思路SQL之入门习题《学生成绩》 二、基础单表查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 文件夹删除_Java删除文件夹
- 下一篇: SQL优化34条