### SQL语句经典教程知识点详解 #### SELECT语句:数据查询的基础 `SELECT`语句是SQL中最核心的语句之一,主要用于从数据库的表中选取数据。它可以帮助用户提取特定的信息,支持从一个或多个表中检索数据,并可以选择显示单个或多个列的数据。 - **基本语法**: ``` SELECT column1, column2, ... FROM table_name; ``` - **示例**: 考虑一个名为`Store_Information`的表,包含`store_name`、`sales`和`date`三列。如果想获取所有店铺的名字,可以使用如下语句: ``` SELECT store_name FROM Store_Information; ``` 结果将返回所有店铺名称的列表。 #### DISTINCT关键字:消除重复项 `DISTINCT`关键字与`SELECT`语句结合使用,用于返回唯一不同的值。当数据集中存在重复值时,使用`DISTINCT`可以确保结果集中不包含重复的记录。 - **基本语法**: ``` SELECT DISTINCT column_name FROM table_name; ``` - **示例**: 继续使用`Store_Information`表,假设其中`store_name`列存在重复的店铺名称,使用`DISTINCT`可以只返回不同的店铺名称: ``` SELECT DISTINCT store_name FROM Store_Information; ``` #### WHERE子句:数据筛选 `WHERE`子句用于在`SELECT`语句中添加过滤条件,只返回满足特定条件的行。这对于数据分析和报告生成特别有用。 - **基本语法**: ``` SELECT column1, column2, ... FROM table_name WHERE condition; ``` - **示例**: 如果想要从`Store_Information`表中选取销售额超过$1,000的记录,可以使用: ``` SELECT * FROM Store_Information WHERE sales > 1000; ``` #### AND & OR操作符:条件组合 `AND`和`OR`操作符用于组合`WHERE`子句中的多个条件,`AND`表示所有条件必须都满足,`OR`表示至少满足一个条件即可。 - **基本语法**: ``` SELECT column1, column2, ... FROM table_name WHERE condition1 AND/OR condition2; ``` #### IN操作符:检查成员资格 `IN`操作符用于判断某列的值是否在指定的集合中,这在处理多值条件时非常有用。 - **基本语法**: ``` SELECT column1, column2, ... FROM table_name WHERE column_name IN (value1, value2, ...); ``` #### BETWEEN操作符:范围查询 `BETWEEN`操作符用于选择位于两个值之间的行,包括这两个值。 - **基本语法**: ``` SELECT column1, column2, ... FROM table_name WHERE column_name BETWEEN value1 AND value2; ``` #### LIKE操作符:模式匹配 `LIKE`操作符用于在`WHERE`子句中搜索列中的指定模式,常用于模糊查询。 - **基本语法**: ``` SELECT column1, column2, ... FROM table_name WHERE column_name LIKE pattern; ``` #### ORDER BY子句:排序输出 `ORDER BY`子句用于对结果集进行排序,可以按升序(ASC)或降序(DESC)排列。 - **基本语法**: ``` SELECT column1, column2, ... FROM table_name ORDER BY column_name ASC/DESC; ``` #### 函数:数据计算和转换 SQL提供了丰富的内置函数,如`COUNT`、`SUM`、`AVG`等,用于执行计算和数据转换。 - **基本语法**: ``` SELECT COUNT(column_name), SUM(column_name), AVG(column_name) FROM table_name; ``` #### GROUP BY子句:分组统计 `GROUP BY`子句用于结合聚合函数,根据一个或多个列对结果集进行分组。 - **基本语法**: ``` SELECT column1, aggregate_function(column2) FROM table_name GROUP BY column1; ``` #### HAVING子句:分组后的过滤 `HAVING`子句类似于`WHERE`子句,但它用于过滤`GROUP BY`子句的结果集。 - **基本语法**: ``` SELECT column1, aggregate_function(column2) FROM table_name GROUP BY column1 HAVING aggregate_function(column2) > value; ``` #### ALIAS:表和列别名 `AS`或空格后跟别名用于创建临时的表名或列名,简化查询或使结果更易读。 - **基本语法**: ``` SELECT column_name AS alias_name FROM table_name AS alias_name; ``` #### JOIN:表连接 `JOIN`操作符用于将两个或多个表中的行按某种关联方式组合在一起。 - **基本语法**: ``` SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name; ``` #### 外部连接:左连接、右连接和全连接 外部连接允许返回即使在另一个表中没有匹配记录时也会返回某些行的连接类型。 - **基本语法**: ``` SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name; ``` #### 子查询:嵌套查询 子查询是在另一个查询内部执行的查询,其结果作为外部查询的一部分被使用。 - **基本语法**: ``` SELECT column_name(s) FROM table_name WHERE column_name operator (subquery); ``` #### UNION:合并结果集 `UNION`操作符用于合并两个或更多`SELECT`语句的结果集,但会自动去重。 - **基本语法**: ``` SELECT column_name(s) FROM table1 UNION SELECT column_name(s) FROM table2; ``` #### UNION ALL:包含重复项的合并 `UNION ALL`操作符同样用于合并结果集,但不会去除重复行。 #### INTERSECT:交集 `INTERSECT`操作符返回两个或多个`SELECT`语句结果集的交集。 #### MINUS:差集 `MINUS`操作符返回在第一个`SELECT`语句中出现但在第二个`SELECT`语句中未出现的行。 #### 字符串函数:CONCATENATE、SUBSTRING、TRIM 字符串函数用于处理文本数据,如连接字符串、截取子字符串和删除前导或尾随空白。 - **基本语法**: ``` SELECT CONCATENATE(column_name1, column_name2), SUBSTRING(column_name FROM start FOR length), TRIM(column_name) FROM table_name; ``` #### 数据定义语言:CREATE TABLE、CREATE VIEW、CREATE INDEX、ALTER TABLE 数据定义语言(DDL)语句用于定义和修改数据库对象,如创建、修改和删除表、视图和索引。 - **基本语法**: ``` CREATE TABLE table_name ( column1 datatype, column2 datatype, ... ); CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name; CREATE INDEX index_name ON table_name (column_name); ALTER TABLE table_name ADD column_name datatype, DROP column_name, MODIFY column_name datatype; ``` #### 主键:PRIMARY KEY 主键是一个或一组能唯一标识表中每一行的列,用于确保数据的完整性。 - **基本语法**: ``` CREATE TABLE table_name ( column1 datatype PRIMARY KEY, ... ); ``` #### 外键:FOREIGN KEY 外键是一种引用另一表主键的列,用于维护多个表之间的关系。 - **基本语法**: ``` CREATE TABLE table_name ( column1 datatype, FOREIGN KEY (column1) REFERENCES other_table(other_column) ); ``` #### 数据操纵语言:INSERT INTO、UPDATE、DELETE 数据操纵语言(DML)语句用于插入、更新和删除表中的数据。 - **基本语法**: ``` INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...); UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE some_column = some_value; DELETE FROM table_name WHERE some_column = some_value; ``` #### DDL语句:DROP TABLE、TRUNCATE TABLE `DROP TABLE`用于完全删除表及其数据,`TRUNCATE TABLE`则用于仅删除表中的数据而不删除表结构。 - **基本语法**: ``` DROP TABLE table_name; TRUNCATE TABLE table_name; ``` 以上涵盖了SQL语句的经典教程中提到的几乎所有关键概念和语句,这些基础知识是进行复杂查询和数据库管理的基石。
剩余21页未读,继续阅读
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助