SQL实用教程:排序、查询与约束详解

需积分: 9 0 下载量 113 浏览量 更新于2024-09-08 收藏 26KB DOCX 举报
本资源是一份实用的SQL学习手册,旨在帮助读者掌握SQL的基础知识和实际应用技巧。内容涵盖了逆字母顺序与数字顺序排列数据、记录选择、不同类型的JOIN操作、唯一性约束(UNIQUE和PRIMARY KEY)以及外键(FOREIGN KEY)的关系管理。 1. **逆字母顺序与数字顺序排序**: 在SQL查询中,`ORDER BY`子句用于对结果集进行排序。例如,`SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC`命令表示首先按公司名称降序(DESC),然后在同一公司内按订单号升序(ASC)排列数据。 2. **记录选择**: 使用`TOP`关键字限制返回的记录数量,如`SELECT TOP 50 PERCENT * FROM Persons`表示选取`Persons`表中50%的数据,`*`通配符表示所有列。 3. **JOIN操作**: - `INNER JOIN`: 只返回两个表中具有匹配数据的行。 - `LEFT JOIN` (或`LEFT OUTER JOIN`): 返回左表的所有行,即使右表无匹配也会显示NULL值。 - `RIGHT JOIN` (或`RIGHT OUTER JOIN`): 返回右表的所有行,左表无匹配时显示NULL值。 - `FULL JOIN` (或`FULL OUTER JOIN`): 如果至少一个表有匹配,则返回所有行,无匹配时用NULL填充。 4. **唯一性约束**: UNIQUE约束确保表中的每条记录都是唯一的,而PRIMARY KEY约束则是特殊的唯一性约束,由系统自动维护,不允许有重复值。一个表可以有多个UNIQUE约束,但只能有一个PRIMARY KEY。 5. **主键和外键的创建与管理**: 主键是`CREATE TABLE`语句中定义的,如`CREATE TABLE Persons`中的`Id_P`字段,通过`CONSTRAINT uc_PersonID PRIMARY KEY`或`CONSTRAINT pk_PersonID PRIMARY KEY`指定。在添加或删除主键时,需谨慎操作,如`ALTER TABLE Persons ADD PRIMARY KEY`用于添加新主键,而`ALTER TABLE Persons DROP CONSTRAINT pk_PersonID`用于移除现有主键。 外键是通过`FOREIGN KEY`实现,如`Orders`表中的`Id_P`字段,它引用了`Persons`表的`Id_P`,确保数据的一致性和完整性。外键定义时,需要明确指定关联的主键,如`REFERENCES Persons(Id_P)`。 这份学习手册提供了SQL基础到进阶的实用内容,包括数据排序、记录筛选、关联表操作以及数据库约束的管理,对于理解和实践SQL在实际项目中的应用非常有价值。