欢迎投稿

今日深度:

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

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


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

    一、向SQL Server中导入数据

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

    (如下图即导入成功)

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

    二、例题

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

    SELECT * FROM student

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

    SELECT sno,sname FROM student

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

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

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

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

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

    select * FROM student WHERE sdept='CS'

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

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

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

    (1)方法一

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

    (2)方法二

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

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

    (1)方法一

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

    (2)方法二

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

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

    (1)方法一

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

    (2)方法二

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

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

    select * from student where sname like'张%'

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

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

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

    select * from sc WHERE grade IS NULL;

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

    select DISTINCT sage FROM student WHERE sdept='cs'

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

    select TOP 3 * from student

    15.统计男学生人数

    (1)方法一

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

    (2)方法二

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

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

    select COUNT(distinct sno) from sc

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

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

    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

    (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单表数据查询内容请搜索PHP之友以前的文章或继续浏览下面的相关文章希望大家以后多多支持PHP之友!

    您可能感兴趣的文章:
    • sqlserver 树形结构查询单表实例代码

    www.htsjk.Com true http://www.htsjk.com/Sql_Server/46492.html NewsArticle SQL Server单表数据查询举例详解, 目录 一、向SQL Server中导入数据 二、例题 1.查询所有学生的全部信息 2.查询学生的学号和姓名 3.查询所有学生的姓名和出生年 4. 查询所有学生的姓名和...
    评论暂时关闭