SQL sever数据库的单表查询和连接查询

数据库的单表查询和连接查询

一、目的:

  1. 掌握无条件查询的使用方法。
  2. 掌握条件查询的使用方法。
  3. 掌握库函数及汇总查询的使用方法。
  4. 掌握分组查询的使用方法。
  5. 掌握查询的排序方法。
  6. 掌握连接查询的使用方法。

二、环境概述:

  1. SQL Server 2019
  2. SQL Server Management Studio 管理工具

三、数据库的查询:

1. 根据创建的学生作业管理数据库以及其中的学生表、课程表和学生作业表,进行以下的查询操作。

(1) 查询各位学生的学号、班级和姓名。

use 学生作业管理
go
select  学号,姓名,专业班级 from 学生表

(2) 查询课程的全部信息。

select * from 课程表

(3) 查询数据库中有哪些专业班级。

select 专业班级 from 学生表 group by 专业班级

(4) 查询学时数大于60的课程信息。

select * from 课程表 where 学时数 > 60

(5) 查询在1986年出生的学生的学号、姓名和出生日期。

select 学号,姓名,出生日期 from 学生表 where datename(year,出生日期) =1986'

(6) 查询三次作业的成绩都在80分以上的学号、课程号。

select 学号,课程号 from 学生作业表 where
(作业1成绩 > 80 and 作业2成绩 > 80 and 作业3成绩 > 80)

(7) 查询姓张的学生的学号、姓名和专业班级。

select 学号,姓名,专业班级 from 学生表 where 姓名 like ’张%

(8) 查询05级的男生信息。

select * from 学生表 where (专业班级 like '%05and 性别 = ’男’)

(9) 查询没有作业成绩的学号和课程号。

select 学号,课程号 from 学生作业表 where
(作业1成绩 is null or 作业2成绩 is null or 作业3成绩 is null)

(10) 查询学号为0538的学生的作业1总分。

select 学号, sum(作业1成绩) as 作业1总分 from 学生作业表
where(学号='0538) group by 学号

(11) 查询选修了K001课程的学生人数。

select count(课程号) as 选课人数 from 学生作业表 where 课程号 = 'KO01'

(12) 查询数据库中共有多少个班级。

select count(distinct专业班级) as 班级数 from 学生表

(13) 查询选修三门以上(含三门)课程的学生的学号和作业1平均分、作业2平均分和作业3平均分。

select 学生作业表.学号,avg(作业1成绩) as avg1,avg(作业2成绩)as avg2,avg(作业3成绩) as avg3, 
count(学生作业表.课程号) as cnt from 课程表 inner join 学生作业表 
on 课程表.课程号 = 学生作业表.课程号
group by 学生作业表.学号
having count(学生作业表.课程号) >= 3

(14) 查询于兰兰的选课信息,列出学号、姓名、课程名(使用两种连接查询的方式)。

select学生表.学号,学生表.姓名,课程表.课程名
from 课程表 inner join学生作业表 on 课程表.课程号=学生作业表.课程号
inner join 学生表 on 学生作业表.学号=学生表.学号
where 姓名=’于兰兰'
select 学生表.学号, 学生表.姓名, 课程表.课程名 from 课程表,学生作业表,学生表
where 课程表.课程号 = 学生作业表.课程号
and 学生作业表.学号  =学生表.学号 and 姓名 = '于兰兰’
  • 15
    点赞
  • 87
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

�Destiny;

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值