数据库单表查询 SQLServer

本文深入探讨了在 SQLServer 中进行高效单表查询的方法,包括使用 WHERE 子句筛选数据,ORDER BY 语句排序结果,以及 GROUP BY 和聚合函数在统计分析中的应用。同时,还介绍了如何利用索引来提升查询性能,帮助数据库管理员优化查询效率。
摘要由CSDN通过智能技术生成
-- 一:对给定的xsgl数据库完成以下查询要求 :
--对xs表增加身份证号码属性列,要求是18位的字符类型
alter table xs add 身份证号 char(18)	

--1.查询有直接先行课的课程的课号,课名和先行课号。
select kc.课程号,kc.先行课号	
from kc
where kc.先行课号 !=''

--2.查询先行课号是“J001”号课程的课号和课名
select kc.课程号,kc.课程名
from kc
where kc.课程号 = 'J001'

--3.查询所有的网络工程系姓李,张,王的同学的学号和姓名
select xs.姓名,xs.学号
from xs
where xs.专业 = '网络工程'and xs.姓名 like '[李,张,王]%'

--4.查询不在网络工程和信息管理专业学习的学生的学号和姓名,系别,并对查询结果按照专业的升序和学号的降序排序
select xs.学号,xs.姓名,xs.专业
from xs
where xs.专业 not in ('网络工程','信息管理')
order by xs.专业,xs.学号 desc

--5.查询每门课不及格的学生的人数,显示课号和人数
select cj.课程号,count(*) 人数
from cj
where cj.成绩 < 60
group by cj.课程号

--6.查询年龄不在30-35之间的网络工程系的学生的学号,姓名和年龄
select xs.学号,xs.姓名,datediff(dd,出生时间,getdate())/365 as 年龄
from xs
where datediff(dd,出生时间,getdate())/365 not between 30 and 35

--7.查询没有选修‘J001’号课程的学生的学号(注意去掉重复的元组࿰
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值