SQL基础:消除重复行与SELECT DISTINCT用法

需积分: 11 2 下载量 62 浏览量 更新于2024-08-15 收藏 5.23MB PPT 举报
"这篇资料主要介绍了SQL语言中的基础概念,特别是如何使用SELECT语句消除重复行。通过使用DISTINCT关键字,可以确保查询结果中不包含重复的行。此外,还提到了SQL的历史背景,它是非过程化的语言,由IBM实验室在20世纪70年代后期开发,用于关系数据库的操作和检索。资料内容涵盖了SQL的基本语句、数据限定和排序、单行函数、多表查询、分组函数、子查询以及数据操作(DML语句)等核心概念。" 在SQL中,消除重复行是通过在SELECT语句中添加DISTINCT关键字来实现的。例如,在查询emp表的部门编号(deptno)时,使用`SELECT DISTINCT deptno FROM emp;`会返回去重后的部门编号列表。如果需要去除多列的重复组合,可以将DISTINCT关键字后跟多列名,如`SELECT DISTINCT deptno, job FROM emp;`,这将返回不重复的部门编号和职位组合。 SQL语言是结构化查询语言,它的非过程化特性使得用户无需关心数据的存储细节,只需关注数据的查询和操作。SQL的历史可以追溯到20世纪70年代,由IBM实验室开发,用于支持关系数据库的管理和查询。关系数据库模型由Codd博士提出,他定义了12条准则,奠定了现代关系数据库的基础。SQL成为操作和检索这些关系数据库的标准语言。 基本SQL语句的核心是SELECT语句,它用于从表中选择数据。SELECT语句可以指定要选取的列,如`SELECT *`表示选取所有列,而`SELECT column1, column2`则选取特定列。FROM关键字指明数据来源,即从哪个表中选取数据。SQL语句的书写规则包括不区分大小写,但为了可读性通常将关键字大写,语句可以跨越多行,并且每条语句以分号结束。 资料还涵盖了如何对数据进行限定和排序,使用WHERE子句进行条件筛选,使用ORDER BY子句进行排序。处理单行函数,如转换、计算等,可以对单个记录进行操作。从多个表中获取数据涉及JOIN操作,包括内连接、外连接等。使用GROUP BY和聚合函数(如COUNT, SUM, AVG, MAX, MIN)可以对数据进行分组和聚合计算。子查询是嵌套在其他SQL语句中的查询,用于提供临时结果或满足更复杂的逻辑。DML语句(Data Manipulation Language)如INSERT, UPDATE, DELETE则用于操作数据,创建和管理表涉及到CREATE TABLE, ALTER TABLE等语句。 这篇资料是SQL初学者很好的入门教程,涵盖了SQL语言的基础知识,有助于理解如何高效地从数据库中提取、操作和分析数据。