SQL查询语句精华:从简单到复杂

需积分: 13 3 下载量 164 浏览量 更新于2024-08-01 收藏 86KB DOC 举报
"SQL语句收藏-精华.doc" 本文档主要涵盖了SQL查询语言的基础和进阶知识,特别适合初学者和准备面试的IT专业人士学习。文档详细介绍了SQL查询语句的构成,包括选择列表、FROM子句和WHERE子句,这些都是构建基本查询的关键元素。 一、简单查询 简单查询由选择列表、FROM子句和WHERE子句组成,用于指定查询的列、数据源和筛选条件。例如,查询`testtable`表中姓名为“张三”的`nickname`和`email`字段的SQL语句如下: ```sql SELECT nickname, email FROM testtable WHERE name = '张三' ``` (一)选择列表 1. 选择所有列:使用星号`*`代表选择所有列,如: ```sql SELECT * FROM testtable ``` 2. 选择部分列并指定显示顺序:可以指定需要的列,保持列的显示顺序与选择列表中的顺序一致,例如: ```sql SELECT nickname, email FROM testtable ``` 3. 更改列标题:可以在选择列表中定义新的列标题,例如将`nickname`列标题改为“昵称”,`email`列标题改为“电子邮件”: ```sql SELECT "昵称" = nickname, "电子邮件" = email FROM testtable ``` 4. 删除重复行:使用`DISTINCT`关键字去除重复行,如: ```sql SELECT DISTINCT nickname, email FROM testtable ``` 5. 限制返回的行数:使用`TOP`关键字限制返回的行数,如返回前两行: ```sql SELECT TOP 2 * FROM testtable ``` 或者返回总数的20%: ```sql SELECT TOP 20 PERCENT * FROM testtable ``` (二)FROM子句 FROM子句定义了查询涉及的表或视图。它可以包含单个表、多个表的连接,甚至是子查询。例如: ```sql SELECT nickname, email FROM testtable ``` 这里,`testtable`是查询的数据源。 (三)WHERE子句 WHERE子句用于设置查询条件,筛选出满足特定条件的行。例如: ```sql SELECT nickname, email FROM testtable WHERE name = '张三' ``` 此查询仅返回`name`字段为“张三”的行。 文档中还可能包含更复杂的查询结构,如JOIN操作、GROUP BY用于聚合、HAVING用于过滤聚合结果、ORDER BY用于排序,以及可能涉及的子查询和窗口函数等。这些内容对于全面理解和应用SQL至关重要,尤其在数据处理和分析中。 标签提及了`sql`、`sql语句`、`sql面试题`、`plsql`和`oracle`,意味着这份文档可能不仅限于基础SQL,还可能涵盖了PL/SQL(Oracle数据库的编程语言扩展)和一些面试中常见的SQL问题。学习者可以借此深入理解SQL在实际工作中的应用,提升自己的技能水平。