> 文章列表 > SQL Server 单表数据查询

SQL Server 单表数据查询

SQL Server 单表数据查询

提示: 本篇文章详细介绍怎样向SQLServer中导入表格数据,导入之后根据不同的查询条件完成查询任务.

文章目录

  • 前言
  • 一、向SQL Server中导入数据
  • 二、例题
    • 1.查询所有学生的全部信息
    • 2.查询学生的学号和姓名
    • 3.查询所有学生的姓名和出生年
    • 4. 查询所有学生的姓名和出生年,要求列名是汉字形式
    • 5.查询CS系的所有学生信息
    • 6.查询CS系的所有男同学信息
    • 7.查询年龄在18到20之间的学生信息
      • (1)方法一
      • (2)方法二
    • 8.查询年龄不在18到20之间的学生信息
      • (1)方法一
      • (2)方法二
    • 9.查询所在系为CS和JD的学生信息
      • (1)方法一
      • (2)方法二
    • 10.查询姓张的学生的信息
    • 11.查询姓名只有两个字且姓李的学生的学号和姓名
    • 12.查询没有成绩的学生的学号和课程号
    • 13.消除重复行:查看CS系的年龄情况
    • 14.查询前三个同学的信息
    • 15.统计男学生人数
      • (1)方法一
      • (2)方法二
    • 16.统计sc表中选修过课程的学生人数(注意要去掉重复选课的学生的学号)
    • 17.从表sc中查询所有成绩中的最高分和最低分
    • 18.统计学号为1204304102的学生的总成绩和平均成绩
  • 三、小结
    • (1) 有三种方法可以指定列名
    • (2)根据名字的信息查询题目类总结
    • (3)查询知识拓展
  • 总结

前言

一、向SQL Server中导入数据

SQL Server 单表数据查询
SQL Server 单表数据查询
SQL Server 单表数据查询
SQL Server 单表数据查询
SQL Server 单表数据查询
SQL Server 单表数据查询
SQL Server 单表数据查询
SQL Server 单表数据查询
SQL Server 单表数据查询
导入成功之后,可以点开表格查看内容:
(如下图即导入成功)
其他表同理可得,也可以同时导入
SQL Server 单表数据查询

二、例题

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

 SELECT * FROM student

SQL Server 单表数据查询

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

SELECT sno,sname FROM student

SQL Server 单表数据查询

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

SELECT sname,YEAR(GETDATE())-sage
FROM student

SQL Server 单表数据查询

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

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

SQL Server 单表数据查询

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

select * FROM student WHERE sdept='CS'

SQL Server 单表数据查询

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

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

SQL Server 单表数据查询

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

(1)方法一

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

SQL Server 单表数据查询

(2)方法二

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

SQL Server 单表数据查询

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

(1)方法一

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

SQL Server 单表数据查询

(2)方法二

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

SQL Server 单表数据查询

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

(1)方法一

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

SQL Server 单表数据查询

(2)方法二

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

SQL Server 单表数据查询

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

select * from student where sname like'张%'

SQL Server 单表数据查询

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

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

SQL Server 单表数据查询

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

select * from sc WHERE grade IS NULL;

SQL Server 单表数据查询

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

select DISTINCT sage FROM student WHERE sdept='cs'

SQL Server 单表数据查询

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

select TOP 3 * from student

SQL Server 单表数据查询

15.统计男学生人数

(1)方法一

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

SQL Server 单表数据查询

(2)方法二

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

SQL Server 单表数据查询

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

select COUNT(distinct sno) from sc

SQL Server 单表数据查询

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

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

SQL Server 单表数据查询

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

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

SQL Server 单表数据查询

三、小结

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

I. 列名 列标题(例如:sname 姓名)
II. 列名 AS 列标题(例如:sname AS 姓名)
III.列标题=列名(例如:姓名=列标题)

select sname 姓名,YEAR(GETDATE())-sage as 出生年,院系=sdept from student

SQL Server 单表数据查询

(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 单表数据查询