在关系数据库中,SQL(Structured Query Language)是一种用于管理关系数据库的标准语言,它涵盖了数据库的创建、数据操作、查询和更新等多个方面。本章主要讲解了SQL在数据查询方面的应用,特别是针对单表查询的各种操作。
基础的单表查询包括选择表中的特定列或所有列。例如,`SELECT * FROM student`将返回student表中的所有列,而`SELECT sno, sname FROM student`则只返回学号sno和姓名sname这两列。此外,我们还可以对字段进行计算,如`SELECT sname, 2008-sage AS birthday FROM student`,这里2008减去sage字段的值作为生日字段birthday。
`DISTINCT`子句用于去除查询结果中的重复值,例如`SELECT DISTINCT sdept FROM student`会返回不重复的系别列表。
查询条件是SQL查询的核心部分,包括基本的比较运算符(如=, >, <等)、范围查询`BETWEEN AND`、集合查询`IN`和`NOT IN`、字符匹配`LIKE`和`NOT LIKE`以及空值查询`IS NULL`和`IS NOT NULL`。例如,`SELECT * FROM student WHERE ssex = '男'`将返回所有男性学生的信息,而`SELECT * FROM student WHERE sdept LIKE 'IS%'`则将返回系别以“IS”开头的所有学生。
在查询条件的组合上,可以使用逻辑运算符`AND`, `OR`, 和`NOT`来构建复杂的查询。例如,`SELECT sname FROM student WHERE sdept = 'CS' AND sage < 20`将返回计算机科学系且年龄小于20岁的学生。
`ORDER BY`子句用于对查询结果进行排序,可以指定升序`ASC`或降序`DESC`。比如,`SELECT * FROM sc ORDER BY grade DESC`将按成绩降序显示所有记录。
聚集函数是SQL中的重要工具,它们对一组值进行计算并返回单个值。`COUNT(*)`用于计算元组的总数,`COUNT(<列名>)`计算非空值的数量,`SUM(<列名>)`求和,`AVG(<列名>)`求平均值,`MAX(<列名>)`找出最大值,`MIN(<列名>)`找出最小值。例如,`SELECT COUNT(*) FROM student`将返回学生总数,而`SELECT AVG(grade) FROM sc WHERE cno = 1`将返回1号课程的平均成绩。
SQL提供了强大的查询能力,能够灵活地处理各种复杂的数据需求。通过熟练掌握这些基本概念和操作,可以有效地管理和检索数据库中的信息。
资源详情
资源评论
第三章:关系数据库标准语言SQL
数据库的建立操作
表的建立操作
3.4 数据查询
3.4.1 单表查询
指涉及一张表的查询
查询表中的若干列(投影)
查询所有列
例:select * from student
查询指定的列
查询所有学生的学号和姓名
Select sno, sname from student
查询经过计算的列
查询全体学生的姓名、出生年份和院系
Select sname,2008-sage from student
可以通过指定别名对字段重新命名
Select sname,2008-sage birthday from student
Select sname,’birth’,2008-sage birthday from student
评论0
最新资源