SQL左连接与SELECT语句详解

需积分: 9 3 下载量 143 浏览量 更新于2024-08-19 收藏 663KB PPT 举报
"这篇资料主要介绍了SQL中的SELECT语句,特别是左连接的使用,并提到了SQL语言的分类,包括数据定义语言(DDL)、数据处理语言(DML)和数据控制语言(DCL)。同时,详细解释了SELECT语句的结构和各部分的功能,以及在查询数据时的一些注意事项。" 在SQL中,`LEFT JOIN`(或称为`LEFT OUTER JOIN`)是一种联接操作,它返回左表(即`LEFT JOIN`关键字左侧的表)的所有行,即使右表没有匹配的行。如果右表中有与左表匹配的行,则结果会包含这些匹配行;如果没有匹配行,结果则为NULL。例如,在提供的示例中,`TBL_A`表的所有行都会出现在结果集中,而`TBL_B`表的行只有当其`emp_id`与`TBL_A`的`emp_id`匹配时才会出现。如果`TBL_B`中没有与`TBL_A`对应`emp_id`的行,那么`TBL_B`的相关列将显示为NULL。 SQL语言分为三个主要类别: 1. 数据定义语言(DDL):用于创建和修改数据库结构,如`CREATE TABLE`、`ALTER TABLE`等。 2. 数据处理语言(DML):主要用于数据的增、删、改、查,包括`SELECT`、`INSERT`、`UPDATE`、`DELETE`等。 3. 数据控制语言(DCL):涉及权限和访问控制,如`GRANT`、`REVOKE`等。 `SELECT`语句是DML的核心,用于从数据库中检索数据。它的基本结构如下: ```sql SELECT select_list [INTO new_table_name] FROM table_list [WHERE conditions] [GROUP BY group_by_list] [HAVING search_conditions] [ORDER BY order_list [ASC | DESC]] ``` - `select_list`:指定要从表中选择的列,可以是具体列名,也可以是`*`表示所有列。 - `[INTO new_table_name]`:可选,将查询结果保存到新表中。 - `table_list`:指定要查询的表或视图。 - `[WHERE conditions]`:过滤条件,只返回满足条件的行。 - `[GROUP BY group_by_list]`:按指定列进行分组,常与聚合函数一起使用。 - `[HAVING search_conditions]`:在分组后对组进行过滤,类似`WHERE`但只能用在`GROUP BY`之后。 - `[ORDER BY order_list [ASC | DESC]]`:指定排序方式,可以升序(ASC)或降序(DESC)。 例如,`SELECT * FROM tb_pubinfo`将显示`tb_pubinfo`表中的所有列。 理解并熟练运用`SELECT`语句及其不同组成部分,是有效查询和管理数据库的关键。在实际操作中,根据业务需求灵活运用各种子句,可以实现复杂的数据查询和分析。