SQL查询语句详解:从简单查询到FROM子句

需积分: 10 2 下载量 155 浏览量 更新于2024-07-28 收藏 208KB PDF 举报
"SQL查询语句大全" SQL(Structured Query Language)是用于管理和处理关系数据库的标准语言。在本文中,我们将深入探讨SQL查询语句的一些基本元素和常见操作,包括简单查询、选择列表、FROM子句和WHERE子句。 1. **简单查询** 简单查询通常涉及选择特定列、指定数据来源(FROM子句)以及应用筛选条件(WHERE子句)。例如,`SELECT nickname, email FROM testtable WHERE name='张三'` 这个例子就选择了`testtable`表中名为'张三'的记录的`nickname`和`email`字段。 2. **选择列表** - **选择所有列**:使用`SELECT * FROM testtable`可以选取表中的所有列。 - **选择部分列**:如`SELECT nickname, email FROM testtable`,仅选择指定的列,并按照列的书写顺序显示。 - **更改列标题**:你可以通过`SELECT 昵称=nickname, 电子邮件=email FROM testtable`重命名列标题,注意非标准标识符需要用引号包围。 - **删除重复行**:使用`DISTINCT`关键字可以去除结果集中重复的行。 - **限制返回行数**:`TOP n`或`TOP n PERCENT`用于限制返回的行数,如`SELECT TOP 2 * FROM testtable`返回前两行,`SELECT TOP 20 PERCENT * FROM testtable`则返回总行数的20%。 3. **FROM子句** FROM子句指定查询的表或视图,可以指定多个,如`SELECT ... FROM table1, table2`。当多表存在同名列时,需要使用表名或别名来区分,例如`SELECT t1.cityid, t2.cityid FROM usertable AS t1, citytable AS t2`。 4. **WHERE子句** WHERE子句用来设定查询条件,例如`WHERE age > 18`,只选取年龄大于18的记录。可以组合使用逻辑运算符(AND, OR, NOT)和比较运算符(=, <, >, <=, >=, !=)来构造复杂的筛选条件。 5. **其他高级查询** - **JOIN操作**:用于合并两个或更多表的数据,如`INNER JOIN`, `LEFT JOIN`, `RIGHT JOIN`, 和 `FULL OUTER JOIN`。 - **GROUP BY和聚合函数**:`GROUP BY`用于按列进行分组,配合`COUNT`, `SUM`, `AVG`, `MIN`, `MAX`等聚合函数对每组进行计算。 - **HAVING子句**:在GROUP BY后应用条件筛选,类似WHERE但针对分组后的结果。 - **ORDER BY子句**:用于对结果集进行排序,如`ORDER BY salary DESC`将按薪水降序排列。 - **UNION和UNION ALL**:用于合并两个或更多SELECT语句的结果集,UNION会自动去重,UNION ALL则包含所有行。 了解并熟练掌握这些SQL查询语句是进行数据库操作的基础,无论是在数据分析、报表生成还是应用开发中,都会发挥重要作用。通过实践和学习,你将能够编写出更复杂、高效的SQL查询来满足各种需求。