沃梦达 / IT编程 / 数据库 / 正文

SQL Server单表数据查询举例详解

在最近的学习中,我发现对于我们编程的人员来说,数据是非常重要的,因为我们在编程的时候,每分每秒每刻都在与数据进行打交道,下面这篇文章主要给大家介绍了关于SQL Server单表数据查询的相关资料,需要的朋友可以参考下

一、向SQL Server中导入数据

IiBzcmM9

IiBzcmM9

IiBzcmM9

IiBzcmM9

IiBzcmM9

IiBzcmM9

IiBzcmM9

IiBzcmM9

IiBzcmM9

导入成功之后,可以点开表格查看内容:

(如下图即导入成功)

其他表同理可得,也可以同时导入

IiBzcmM9

二、例题

1.查询所有学生的全部信息

SELECT * FROM student

IiBzcmM9

2.查询学生的学号和姓名

SELECT sno,sname FROM student

IiBzcmM9

3.查询所有学生的姓名和出生年

SELECT sname,YEAR(GETDATE())-sageFROM student

IiBzcmM9

4. 查询所有学生的姓名和出生年,要求列名是汉字形式

SELECT sname 姓名,YEAR(GETDATE())-sage 出生年FROM student

IiBzcmM9

5.查询CS系的所有学生信息

select * FROM student WHERE sdept='CS'

IiBzcmM9

6.查询CS系的所有男同学信息

select * FROM student WHERE sdept='CS' AND ssex='男'

IiBzcmM9

7.查询年龄在18到20之间的学生信息

(1)方法一

select * from student where sage>=18 and sage<=20

IiBzcmM9

(2)方法二

select * from student where sage BETWEEN '18' AND '20'

IiBzcmM9

8.查询年龄不在18到20之间的学生信息

(1)方法一

select * from student where sage<18 or sage>20

IiBzcmM9

(2)方法二

select * from student where sage not BETWEEN '18' AND '20'

IiBzcmM9

9.查询所在系为CS和JD的学生信息

(1)方法一

select * from student where sdept='CS' or sdept='JD'

IiBzcmM9

(2)方法二

select * from student where sdept in('CS','JD')

IiBzcmM9

10.查询姓张的学生的信息

select * from student where sname like'张%'

IiBzcmM9

11.查询姓名只有两个字且姓李的学生的学号和姓名

select sno,sname from student WHERE sname LIKE '李_';

IiBzcmM9

12.查询没有成绩的学生的学号和课程号

select * from sc WHERE grade IS NULL;

IiBzcmM9

13.消除重复行:查看CS系的年龄情况

select DISTINCT sage FROM student WHERE sdept='cs'

IiBzcmM9

14.查询前三个同学的信息

select TOP 3 * from student

IiBzcmM9

15.统计男学生人数

(1)方法一

select COUNT(sno) 男生人数 from student where ssex='男'

IiBzcmM9

(2)方法二

select COUNT(*) AS 男生人数 from student where ssex='男'

IiBzcmM9

16.统计sc表中选修过课程的学生人数(注意要去掉重复选课的学生的学号)

select COUNT(distinct sno) from sc

IiBzcmM9

17.从表sc中查询所有成绩中的最高分和最低分

select max(grade) 最高分,MIN(grade) 最低分 from sc

IiBzcmM9

18.统计学号为1204304102的学生的总成绩和平均成绩

select SUM(grade) 总分,AVG(grade) 平均分 from sc where sno='1204304102'

三、小结

(1) 有三种方法可以指定列名

  • I. 列名 列标题(例如:sname 姓名)
  • II. 列名 AS 列标题(例如:sname AS 姓名)
  • III.列标题=列名(例如:姓名=列标题)
select sname 姓名,YEAR(GETDATE())-sage as 出生年,院系=sdept from student

IiBzcmM9

(2)根据名字的信息查询题目类总结

查询姓张的学生的信息

select * from student where sname like'张%'

查询姓黄的学生的信息(当姓氏后面只有一个字时)

select * from student where sname like'黄_'

查询名字中有“文”这个字的学生的信息

select * from student where sname like'_文_'

(3)查询知识拓展

查询前三个同学的信息

select TOP 3 * from student

查询课程编号是‘2102’的课程分数降序排列

select grade from sc where cno='2102' order by grade desc

查询课程编号是‘2102’的课程分数降序排列的前两名

select TOP 2 grade from sc where cno='2102' order by grade desc

总结

到此这篇关于SQL Server单表数据查询的文章就介绍到这了,更多相关SQLServer单表数据查询内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!

本文标题为:SQL Server单表数据查询举例详解