SQL基础操作与查询实战解析

需积分: 10 2 下载量 140 浏览量 更新于2024-07-25 收藏 266KB DOC 举报
在这个教学管理系统中,我们遇到了关于SQL语句的多个操作,涉及数据库设计、数据插入、基本查询以及条件筛选等。以下是每个问题对应的SQL语句及其解释: 1. DDL (Data Definition Language) - 建表语句: - `CREATE TABLE Student` 表示我们要创建一个名为`Student`的表,其字段包括`no`(编号,varchar(5)类型)、`name`(姓名,varchar(5)类型)、`sex`(性别,nvarchar(1)类型)、`birthday`(生日,datetime类型)和`class`(班级,nvarchar(5)类型)。这是一条用于定义表结构的SQL语句。 2. DML (Data Manipulation Language) - INSERT语句: - 为了插入数据,我们需要针对每个表写特定的INSERT语句。由于图片缺失了实际的数据插入内容,这里无法提供具体的INSERT语句,但一般形式是 `INSERT INTO 表名 (字段列表) VALUES (值列表)`。 3. 单表查询 - 按class降序输出所有记录: - `SELECT * FROM Student ORDER BY class DESC` 会返回`Student`表中的所有字段,按照`class`字段的值降序排列。 4. 查询教师单位(depart)的唯一值: - `SELECT DISTINCT depart FROM Teacher` 用于选取`Teacher`表中`depart`字段的不同值,即不重复的单位信息。 5. 查询学生姓名、性别和班级: - `SELECT name, sex, class FROM Student` 仅返回`Student`表中指定的三个字段。 6. 筛选不姓王的学生姓名: - `SELECT name FROM Student WHERE name NOT LIKE '王%'` 通过`LIKE`操作符匹配不以“王”开头的姓名。 7. 筛选特定成绩范围的记录: - `SELECT * FROM Score WHERE degree = 85 OR degree = 86 OR degree = 88 OR degree BETWEEN 60 AND 80` 找出`Score`表中指定成绩范围的记录。 8. 筛选特定班级和性别: - `SELECT * FROM Student WHERE class = '95001' OR sex = '女'` 选取`Student`表中班级为95001或性别为女性的学生记录。 9. 多字段排序的查询: - `SELECT * FROM Score ORDER BY cno ASC, degree DESC` 返回`Score`表中的所有字段,先按`cno`升序排列,再按`degree`降序排列。 这些SQL语句展示了基本的数据库操作和查询技巧,有助于理解和掌握SQL在管理教育系统中的应用。通过实践这些练习,可以提高对SQL语言的理解和使用能力。