SQL语言详解:选择与消除重复行

需积分: 31 2 下载量 58 浏览量 更新于2024-08-23 收藏 1.12MB PPT 举报
"选择表中的若干元组-数据库 SQL语言" 在数据库管理中,SQL(Structured Query Language)是用于操作关系数据库的标准语言。本章节主要关注如何使用SQL从表中选择特定的元组(行)。当需要消除重复的取值时,可以使用`DISTINCT`关键字来确保查询结果不包含重复的行。例如,在描述中提到的SC表,如果要获取每个学生(Sno)的独特记录,而不关心他们选修的多门课程(Cno)和成绩(Grade),可以使用以下SQL语句: ```sql SELECT DISTINCT Sno FROM SC; ``` 这将返回Sno列中所有不重复的值,即95001和95002。 SQL的发展历程始于1974年,由IBM的研究人员为System-R数据库管理系统设计的SEQUEL语言,后来简化为SQL。随着时间的推移,SQL逐渐被广泛接受,并由ANSI和ISO制定了一系列标准,如SQL86、SQL89、SQL92和SQL3。在Microsoft SQL Server 2000中,使用的是T-SQL(Transact-SQL),它是SQL的一个扩展,增加了事务处理、存储过程和其他数据库管理功能。 SQL的特点使其成为数据库操作的强大工具: 1. **综合统一**:SQL集成了数据查询、更新、插入和删除等多种操作,且具有统一的语言风格。所有数据库对象,如表、视图和索引,都以关系的形式表示。 2. **高度非过程化**:用户只需指定要完成的任务,而无需详细描述执行步骤。这增强了可移植性和标准化,同时提高了程序与数据的独立性。 3. **面向集合的操作**:SQL处理的是数据集合而非单个数据项,查询结果也是集合形式返回。 4. **两种使用方式**:SQL既可以作为自含式(或交互式)语言在命令行界面中直接输入,也可以作为嵌入式语言集成到其他高级编程语言中。 5. **简洁易学**:SQL的语法结构简单,学习曲线相对较平缓,使得用户能快速上手。 SQL的主要组成部分包括: - **数据定义语言(DDL)**:用于创建、修改和删除数据库中的表、视图、索引等对象。例如,创建一个新表的语句可能是: ```sql CREATE TABLE Students ( ID INT PRIMARY KEY, Name VARCHAR(100), Age INT ); ``` - **数据操纵语言(DML)**:用于插入、更新和删除数据。例如,插入一条新记录: ```sql INSERT INTO Students (ID, Name, Age) VALUES (1, 'John Doe', 20); ``` - **数据查询语言(DQL)**:用于检索数据,是SQL中最常用的部分。例如,根据年龄查找学生: ```sql SELECT * FROM Students WHERE Age > 18; ``` - **数据控制语言(DCL)**:用于设置权限和控制访问,例如: ```sql GRANT SELECT ON Students TO User1; ``` 理解并熟练掌握SQL是任何IT专业人员,特别是从事数据库管理或开发工作的人的基础技能。通过学习SQL,你可以有效地管理、查询和分析存储在数据库中的大量信息。