程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> sql 語句演習與謎底

sql 語句演習與謎底

編輯:MSSQL

sql 語句演習與謎底。本站提示廣大學習愛好者:(sql 語句演習與謎底)文章只能為提供參考,不一定能成為您想要的結果。以下是sql 語句演習與謎底正文


1先生表student

S#學號,sname姓名,difdate日期,班級grade

2課程表 course

c#課程號 ,名字cname

3成就單score

s#學號 c#課程號 成就score


--1統計每一個班級有若干人
select grade,count(sname) from ze_student group by grade;

--2、2007級的各先生的均勻成就 沒有成就的為0;
select a.sname,(select avg(nvl(b.score,0)) from ze_score b where b.s#=a.s#) from ze_student a where grade=2007;

--3 每科 均勻成就和最高成就 最低成就 2007級 保存2位小數點 四捨五入
select b.c#,avg(b.score),max(b.score),min(nvl(b.score,0)) from ze_student a,ze_score b where b.s# = a.s# and a.grade =2007 group by b.c#;

--4 給2007級 數學加5分
update ze_score
set score=nvl(score,0)+5
where s# in (select s# from ze_student where grade=2007) and c# =(select c# from ze_course where cname='數學');

--5 90分以上的為優良 90到85為優越,60分 不合格 大家均勻成就
select s#, c,
case
when c>=90 then '優良'
when c<90 and c>=60 then '合格'
else '不合格' end as jige
from (select s#,avg(nvl(score,0)) as c from ze_score group by s# ) order by jige desc;


--6 求同月出身的 人數
select to_char(difdate,'mm') as 月份,count(s#) as 出身人數 from ze_student group by to_char(difdate,'mm');

--7 各科的合格率戰爭均成就 截取 保存2位
--合格率
select c#,avg(nvl(score,0))as 均勻成就,sum(nvl(score,0))as 總成就, count(s#) as 各科人數,
trunc(sum(
case when nvl(score,0)>60 then '1'
else '0' end)/count(s#),2) as 合格率
from ze_score group by c#;

--每人的合格率
select s#, avg(nvl(score,0))as 均勻成就,sum(nvl(score,0))as 總成就, count(c#) as 總科目,
sum(
case when nvl(score,0)>60 then 1
else 0 end
)/count(c#) as 合格率
from ze_score group by s#;


--8刪除 姓名是張三 的年夜學語文 成就
select * from ze_score where s# in (select s# from ze_student where sname in '張三') and c#=(select c# from ze_course where cname ='年夜學語文');

--9 將數學調換成高級數學
update ze_course set cname='高級數學'where cname like '%數學%';

--10 格局化 ,顯示 將學號修正成S開首 缺乏12位補0;
--查詢
select concat('S',lpad(s#,11,0)) as s# from ze_score ;
select concat('S',lpad(s#,11,0)) as s# from ze_student ;

--格局化
update ze_score set s#= concat('S',lpad(s#,9,0));
update ze_student set s#= concat('S',lpad(s#,9,0));

四個足球隊

select a.name,b.name from qiu a,qiu b where a.name<b.name;

commit
rollback
辦事器類型
辦事器協定
全局數據庫稱號
辦事器IP地址
辦事器端標語
用戶名和暗碼
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved