设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 4599|回复: 8
打印 上一主题 下一主题

[查询] 查询实例

[复制链接]
跳转到指定楼层
1#
发表于 2009-6-14 08:41:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
示例表:
学生表(学号,姓名,年龄,性别)
成绩表(学号,课程号,成绩)
课程表(课程号,课程名,教师)

关系代数运算应用实例:
1)查询学习课程号为"C2"的学生学号与成绩.
SELECT  学号,成绩 FROM 成绩表  WHERE 课程号='C2'

2)查询学习课程号为"C2"的学生学号与姓名.
写法1(联接查询,作笛卡儿积操作,速度最慢):
SELECT 学生表.学号,姓名 FROM 学生表,成绩表 WHERE 学生表,学号=成绩表.学号 AND 课程号='C2'
写法2(嵌套查询):
SELECT 学号,姓名 FROM 学生表 WHERE 学号 IN (SELECT 学号  FROM 成绩表 WHERE 课程号='C2')
写法3(嵌套查询):
SELECT  学号,姓名 FROM 学生表 WHERE 'C2' IN (SELECT 学号  FROM 成绩表 WHERE 学号=学生表.学号)
写法4(使用存在量词的嵌套查询):
SELECT 学号,姓名 FROM 学生表 WHERE EXISTS (SELECT *  FROM 成绩表  WHERE 学号=学生表.学号 AND 课程号='C2')

3)查询查询课程名为"英语"的学生的学号与姓名.
写法1:
SELECT 学号,姓名 FROM 学生表 WHERE 学号 IN (SELECT 学号 FROM 成绩表 WHERE 课程号 IN (SELECT 课程号 FROM 课程表 WHERE 课程名='英语'))
写法2:
SELECT 学号,姓名 FROM 学生表,成绩表,课程表 WHERE 学生表.学号=成绩表.学号 AND 课程表.课程号=成绩表.课程号 AND 课程表.课程名='英语'

4)查询选修课程号为"C2"和"C4"的学生学号.
SELECT 学号 FROM 成绩表 WHERE 课程号='C2' AND  课程号='C4'

5)查询至少选修课程号为"C2"和"C4"的学生学号.
SELECT X.学号 FROM 成绩表 AS X,成绩表 AS Y WHERE X.学号=Y.学号 AND X.课程号='C2' AND  Y.课程号='C4'

6)查询不学"C2"课程的学生的姓名和年龄.
SELECT 姓名,年龄 FROM 学生表 WHERE NOT EXISTS (SELECT * fROM 成绩表  WHERE 学号=学生表.学号 AND 课程号='C2')

7)查询学习全部课程的学生的姓名.
SELECT 姓名 FROM 学生表  WHERE NOT EXISTS (SELECT *  FROM  课程表  WHERE  NOT EXISTS (SELECT * FROM 成绩表 WHERE 学号=学生表.学号 AND  课程号=课程表.课程号))

8)查询所学课程包含学号为"S3"的学生所学课程的学生学号.
SELECT DISTINCT 学号  FROM  成绩表 AS X  WHERE NOT EXISTS  (SELECT *  FROM 成绩表 AS Y  WHERE 学号='S3'  AND NOT EXISTS  (SELECT * FROM 成绩表 AS Z WHERE 学号=X.学号 AND 课程号=Y.课程号))

聚合函数应用实例:
1)查询男学生的总人数和平均年龄.
SELECT COUNT(*),AVG(年龄)  FROM   学生表  WHERE  性别='男'

2)查询选修了课程的学生人数.
SELECT COUNT(DISTINCT 学号)  FROM   课程表

SELECT语句完整句法实例:
1)查询每一年龄选修课程的学生人数.  
SELECT 年龄,COUNT(DISTINCT 学生表.学号)  FROM   学生表,成绩表 WHERE  学生表.学号=成绩表.学号  GROUP BY 年龄

2)查询男同学的每一年龄组(超过50人)的人数,要求查询结果按人数升序排序,人数相同时按年龄降序排序.
SELECT 年龄,COUNT(学号)  FROM   学生表  WHERE  性别='男'  GROUP BY 年龄  HAVING COUNT(*)>50  GROUP BY 2,AGE DESC

未完待续......

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖1 订阅订阅
2#
发表于 2009-6-15 08:32:45 | 只看该作者
学习下
3#
发表于 2009-6-15 10:45:04 | 只看该作者
学习
学习
谢谢
4#
发表于 2009-6-16 23:51:43 | 只看该作者
yun
5#
发表于 2009-6-20 10:05:51 | 只看该作者
真系统!
6#
发表于 2009-6-20 12:05:29 | 只看该作者
多多学习,天天向上啊  谢谢楼主!~~
7#
发表于 2014-11-5 16:45:19 | 只看该作者
继续,继续
回复

使用道具 举报

8#
发表于 2014-12-6 09:08:46 | 只看该作者
安德森的孙菲菲大方
9#
发表于 2015-9-1 14:47:59 | 只看该作者
过来学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-15 19:41 , Processed in 0.095060 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表