| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4838 人关注过本帖
标题:sql语句l练习题
只看楼主 加入收藏
wudi251314
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-8-3
收藏
 问题点数:0 回复次数:12 
sql语句l练习题

本人正在学习数据库,刚好把sql 基本语句学完,哪位朋友能提供一些经典的例题拿来做做,也同时让大家分享一下。
先谢谢各位朋友了

搜索更多相关主题的帖子: 练习题 sql 语句 
2007-08-07 20:11
西风独自凉
Rank: 8Rank: 8
等 级:贵宾
威 望:43
帖 子:3380
专家分:28
注 册:2007-8-2
收藏
得分:0 
多建立几个表....
表可以建复杂一点...多加点资料....

去做做left join ,right join ,inner join
order by ,group by ,in,exists 方面的

2007-08-07 20:20
西风独自凉
Rank: 8Rank: 8
等 级:贵宾
威 望:43
帖 子:3380
专家分:28
注 册:2007-8-2
收藏
得分:0 
还可以写下trigger ,procedure

2007-08-07 20:21
wudi251314
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-8-3
收藏
得分:0 
就是一些内连接外连接?
不用练
数据库定义,数据库操作的语句吗?
还有一些比如函数,变量,索引,约束什么的
2007-08-07 20:24
西风独自凉
Rank: 8Rank: 8
等 级:贵宾
威 望:43
帖 子:3380
专家分:28
注 册:2007-8-2
收藏
得分:0 

那你就用VB连接数据库做一些程序出来啊
1/.通讯录
2/.成绩管理系统
要做的事有很多......
关键是要自己愿去尝试


2007-08-07 20:47
sky_yang_sky
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:481
专家分:16
注 册:2007-5-30
收藏
得分:0 

這幾道題都有答案,你先自己做再看,希望對你有用
为管理岗位业务培训信息,建立3个表:

S (S#,SN,SD,SA) S#,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄

C (C#,CN ) C#,CN 分别代表课程编号、课程名称

SC ( S#,C#,G ) S#,C#,G 分别代表学号、所选修的课程编号、学习成绩

1. 使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名

--实现代码:

SELECT SN,SD FROM S

WHERE [S#] IN(

SELECT [S#] FROM C,SC

WHERE C.[C#]=SC.[C#]

AND CN=N'税收基础')

2. 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位

--实现代码:

SELECT S.SN,S.SD FROM S,SC

WHERE S.[S#]=SC.[S#]

AND SC.[C#]='C2'

3. 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位

--实现代码:

SELECT SN,SD FROM S

WHERE [S#] NOT IN(

SELECT [S#] FROM SC

WHERE [C#]='C5')

4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位

--实现代码:

SELECT SN,SD FROM S

WHERE [S#] IN(

SELECT [S#] FROM SC

RIGHT JOIN

C ON SC.[C#]=C.[C#] GROUP BY [S#]

HAVING COUNT(*)=COUNT([S#]))

5. 查询选修了课程的学员人数

--实现代码:

SELECT 学员人数=COUNT(DISTINCT [S#]) FROM SC

6. 查询选修课程超过5门的学员学号和所属单位

--实现代码:

SELECT SN,SD FROM S

WHERE [S#] IN(

SELECT [S#] FROM SC

GROUP BY [S#]

HAVING COUNT(DISTINCT [C#])>5)

题目2

问题描述:

已知关系模式:

S (SNO,SNAME) 学生关系。SNO 为学号,SNAME 为姓名

C (CNO,CNAME,CTEACHER) 课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师

SC(SNO,CNO,SCGRADE) 选课关系。SCGRADE 为成绩

1. 找出没有选修过“李明”老师讲授课程的所有学生姓名

--实现代码:

SELECT SNAME FROM S

WHERE NOT EXISTS(

SELECT * FROM SC,C

WHERE SC.CNO=C.CNO

AND CNAME='李明'

AND SC.SNO=S.SNO)

2. 列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩

--实现代码:

SELECT S.SNO,S.SNAME,AVG_SCGRADE=AVG(SC.SCGRADE)

FROM S,SC,(

SELECT SNO

FROM SC

WHERE SCGRADE<60

GROUP BY SNO

HAVING COUNT(DISTINCT CNO)>=2

)A WHERE S.SNO=A.SNO AND SC.SNO=A.SNO

GROUP BY S.SNO,S.SNAME

3. 列出既学过“1”号课程,又学过“2”号课程的所有学生姓名

--实现代码:

SELECT S.SNO,S.SNAME

FROM S,(

SELECT SC.SNO

FROM SC,C

WHERE SC.CNO=C.CNO

AND C.CNAME IN('1','2')

GROUP BY SNO

HAVING COUNT(DISTINCT CNO)=2

)SC WHERE S.SNO=SC.SNO

4. 列出“1”号课成绩比“2”号同学该门课成绩高的所有学生的学号

--实现代码:

SELECT S.SNO,S.SNAME

FROM S,(

SELECT SC1.SNO

FROM SC SC1,C C1,SC SC2,C C2

WHERE SC1.CNO=C1.CNO AND C1.NAME='1'

AND SC2.CNO=C2.CNO AND C2.NAME='2'

AND SC1.SCGRADE>SC2.SCGRADE

)SC WHERE S.SNO=SC.SNO

5. 列出“1”号课成绩比“2”号课成绩高的所有学生的学号及其“1”号课和“2”号课的成绩

--实现代码:

SELECT S.SNO,S.SNAME,SC.[1号课成绩],SC.[2号课成绩]

FROM S,(

SELECT SC1.SNO,[1号课成绩]=SC1.SCGRADE,[2号课成绩]=SC2.SCGRADE

FROM SC SC1,C C1,SC SC2,C C2

WHERE SC1.CNO=C1.CNO AND C1.NAME='1'

AND SC2.CNO=C2.CNO AND C2.NAME='2'

AND SC1.SCGRADE>SC2.SCGRADE

)SC WHERE S.SNO=SC.SNO


你微笑的面對整個世界,整個世界也將會微笑的面對你。
2007-08-08 08:26
lzalibabalr
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-7-31
收藏
得分:0 
很经典啊,thank you
2007-08-08 10:13
wudi251314
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-8-3
收藏
得分:0 

很不错
谢谢上面的朋友了
2007-08-08 10:21
sky_yang_sky
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:481
专家分:16
注 册:2007-5-30
收藏
得分:0 

不用謝,能對大家有幫助就好。


你微笑的面對整個世界,整個世界也將會微笑的面對你。
2007-08-08 14:05
wudi251314
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-8-3
收藏
得分:0 

(转载)我有以下的表:

学号 姓名 成绩
1 XX 96
2 YY 86
3 CC 76
. . .
. . .

我想查询成绩低于平均成绩的学生,该怎么写SQL语句呢?
请会的同志帮一些忙
下面是我的答案

USE 表名
SELECT 学号,成绩 ,avg(成绩) as '平均成绩'
from 表名
group by 学号,成绩
having 成绩>avg(成绩)
go
但是不能达到预期的效果
怎么回事?

2007-08-08 22:47
快速回复:sql语句l练习题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017400 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved