SQL查询语句复习与实战

需积分: 3 2 下载量 80 浏览量 更新于2024-10-10 收藏 52KB DOC 举报
"SQL语句复习资料,包含对SQL查询语句的综合练习,涉及学生-课程数据库的构建和查询操作。" SQL语句是数据库管理的基础,用于在关系型数据库中进行数据检索、更新和管理。本复习资料重点在于SQL查询语句的使用,涵盖了从基础的列和行查询到复杂的条件查询,以及对集合和范围的处理。以下将详细解释这些知识点: 1. **列和行查询**:SQL查询的基础是选择特定的列和行。例如,查询选修了课程的学生姓名,可以通过连接`Student`和`SC`表,并使用`DISTINCT`关键字去除重复的姓名。 ```sql SELECT DISTINCT sname FROM Student, SC WHERE Student.Sno = SC.Sno; ``` 2. **条件查询**:SQL提供了多种比较运算符,如`=`, `<`, `>`, `>=`, `<=`, `!=`, `<>`,以及逻辑运算符`NOT`与这些运算符结合使用。此外,还有`BETWEEN`,`NOT BETWEEN`用于指定范围,`IN`和`NOT IN`用于检查是否属于某个集合,`LIKE`和`NOT LIKE`用于模式匹配,`IS NULL`和`IS NOT NULL`用于检测空值。 例如,查询计算机系全体学生的姓名: ```sql SELECT sname FROM Student WHERE sdept = 'CS'; ``` 3. **多重条件查询**:可以使用`AND`和`OR`组合多个条件。例如,查询年龄在20岁以下的学生姓名及其年龄: ```sql SELECT sname, sage FROM Student WHERE sage < 20; ``` 4. **范围查询**:`BETWEEN`和`NOT BETWEEN`用于查询在特定范围内的数据。例如,查询年龄在20到23之间的学生姓名、系别和年龄: ```sql SELECT sname, sdept, sage FROM Student WHERE sage BETWEEN 20 AND 23; ``` 5. **集合查询**:`IN`和`NOT IN`用于检查值是否在给定的集合中。例如,查询年龄不在20到23之间的学生姓名、系别和年龄: ```sql SELECT sname, sdept, sage FROM Student WHERE sage NOT BETWEEN 20 AND 23; ``` 6. **字符匹配**:`LIKE`和`NOT LIKE`常用于模糊匹配。例如,查询信息系(IS),数学系(MA)和计算机系(CS)学生的姓名和性别: ```sql SELECT sname, ssex FROM Student WHERE sdept LIKE 'IS' OR sdept LIKE 'MA' OR sdept LIKE 'CS'; ``` 以上只是SQL查询语句的基础应用,实际中还可能涉及到更复杂的子查询、联接、聚合函数、排序、分组等操作。学习SQL语句不仅可以帮助理解数据库的工作原理,也是进行数据分析和业务处理的必备技能。通过不断练习和实践,可以更好地掌握SQL并应用于实际项目中。