access查询操作

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、利用SQL语言创建查询

a)查询课程表的所有字段和记录.

SELECT * from 课程表

b)查询学生表的学号,姓名和性别。

SELECT 学号,姓名,性别from 学生表

c)查询有学生选修的课程名称。

SELECT 课程名from 课程表where 课程号in (select 课程号from 成绩表)

d)查询学生的姓名和年龄(精确到月)。

SELECT 姓名,(year(now())-year(出生日期))*12 from 学生表

e)查询编号包含”02”的系开的课程名称。

SELECT 课程名from 课程表where 开课单位in (select 院系编号from 院系表where 院系编号="02")

select 课程号from 课程表,院系表where 课程表.开课单位=院系表.院系编号and 院系编号="02"

f)查询学时数大于48或者小于27的课程名称。

select 课程名from 课程表where 学时数>48 or 学时数<27

g)查询籍贯为北京、山西和上海的学生名称。

select 姓名from 学生表where 籍贯=”北京” or 籍贯=”山西” or 籍贯=”上海”

h)查询课程名称包含“原理”的课程名称。

select 课程名from 课程表where 课程名like "*原理*"

i)查询信息系开的课程的名称、选修的学生姓名,成绩。

Select课程名,姓名,成绩from 课程表,学生表,成绩表,院系表where 课程表.课程号=成绩表.课程号and 学生表.学号=成绩表.学号and 课程表.开课单位=院系表.院系编号and 学生表.所属院系=院系表.院系编号and 院系名称=”信息系”

j)查询成绩在90分以上,开课单位为”信息系”,”法律系”和”会计系”的学生籍贯,并按照学生学号排序,将前两条记录存入到新表”result”中.

Select 籍贯from 学生表,成绩表,课程表where 学生表.学号=成绩表.学号and 课程表.

课程号=成绩表.课程号and 成绩>90 and (开课单位="04" or 开课单位="01" or 开课单位="05") order by 学生表.学号

连接查询(1、利用inner(left/right) join来完成SQL语句查询)

k)查询信息系开的课程名称、选修这些课程的学生姓名,成绩。

select 课程名,姓名,成绩from (院系表inner join (课程表inner join (成绩表inner join 学生表on 学生表.学号=成绩表.学号) on 课程表.课程号=成绩表.课程号) on 院系表.院系编号=课程表.开课单位) where 院系名称="信息系"

l)查询有开课的院系名称和课程名称.

Select distinct院系名称,课程名from (院系表inner join (课程表inner join 成绩表on 课程表.课程号=成绩表.课程号) on 院系表.院系编号=课程表.开课单位)

m)查询所有院系名称和所开课的课程名称.

Select 院系名称,课程名from (课程表right join 院系表on 课程表.开课单位=院系表.

院系编号)

2、联合查询(利用union完成SQL语句查询)

a)查询年龄低于25岁的所有教师和学生姓名.

Select 姓名from 学生表where (year(now())-year(出生日期))<25 union select 姓名

from 教师表where 年龄<25

b)查询学生的平均成绩,没有成绩的用0表示.

Select avg(成绩) from 成绩表group by 学号union

子查询(利用子查询的SQL语句完成查询)

c)查询出生日期小于年龄划分表中所有出生日期的学生姓名.

Select 姓名from 学生表where(year(now())-year(出生日期)) in (select min(year(now())-year(出生日期)) from 学生表)

d)查询没有选修课程的学生的学号和姓名。

Select 学号,姓名from 学生表where 学号not in (select 学号from 成绩表)

3、聚集查询(利用group by 和having 完成SQL语句查询)

a)查询选修课程的学生姓名和平均成绩,按照姓名分组.

Select 姓名,avg(成绩) from 学生表,成绩表where 学生表.学号=成绩表.学号group by 姓名

b)查询按照院系名称和性别进行分组后学生人数超过1人的院系名称、性别、和对应

的人数。

Select 院系名称,性别,count(*) from 院系表,学生表where 学生表.所属院系=院系表.院系编号group by 院系名称,性别having count(*)>1

c)查询开课总学时最少的院系名称。

Select 院系名称from 院系表,课程表where 院系表.院系编号=课程表.开课单位and (select sum(学时数) from 课程表group by 开课单位having sum(学时数))<=all(select sum(学时数) from 课程表group by 开课单位)

操作语言和定义语言

d)创建学生会表,包含字段(社团编号(整型),社团名称(文本型(10字节)),所

属院系(文本型(2字节))),其中社团编号为主码,所属院系为外码,参照院系

表的院系编号。

Create table 学生会表(社团编号int,社团名称text(10),所属院系text(2) references 院系表(院系编号),primary key(社团编号))

e)插入记录(1,“外联社”,03),(2,“文艺社”,05),(3,“交友社”,02)

al

f)更新2号记录的名称为“音乐社”。

Update 学生会表set 文艺社=音乐社

g)删除3号记录。

Delete from 学生会表where 社团编号=”3”

h)删除学生会表。

Drop table 学生会表

相关文档
最新文档