左连接查询

本文介绍了一个具体的SQL查询案例,展示了如何从两个表中联接数据并筛选特定分支ID的记录。该查询包括了多个字段的选择,并按创建时间进行了排序。
SELECT
	a.PLAN_NAME        AS planName,
	a.PLAN_ID          AS planId,
	a.DATA             AS DATE,
	a.PLAN_ORG         AS planOrg,
	a.PROFI_CHECK_ID   AS profiCheckId,
	a.BRANCH_ID        AS branchId,
	a.CREATE_TS        AS createTs,
	a.NOTE             AS note ,
	b.PROFI_CHECK_ID   AS profiCheckId,
	b.PROJECT_NAME     AS projectName,
	b.METHOD_NO        AS methodNo,
	b.MACHINE_NAME     AS machineName,
	b.MACHINE_NO       AS machineNo,
	b.WORKER           AS worker,
	b.RESULT           AS RESULT,
	b.RESULT_STATE     AS resultState,
	b.NOTE             AS detNote,
	b.PRO_CHECK_DET_ID AS proCheckDetId,
	b.DETAIL           AS detail 
FROM
	TBZPROFI_CHECK as a left join 
	TBZPRO_CHECK_DET as b  on
	a.PROFI_CHECK_ID=b.PROFI_CHECK_ID
 where 
	a.BRANCH_ID = 'c47774beb01343b5baa2f97c98569d9b'
ORDER BY
	createTs
呵呵一定不要忘记带了
### 左连接查询 SQL 用法及结果示例 在 SQL 中,左连接(LEFT JOIN)是一种外连接的形式,用于从两个表中返回所有匹配的行以及左表中不匹配的行。如果右表中没有与左表匹配的记录,则结果集中右表对应的列将填充为 NULL 值。 以下是一个详细的用法和示例: #### 语法 ```sql SELECT columns FROM table1 AS t1 LEFT JOIN table2 AS t2 ON t1.common_column = t2.common_column; ``` - `table1` 是左表,`table2` 是右表。 - `common_column` 是两表之间的关联字段。 - 如果右表中不存在与左表匹配的记录,则右表的字段值会显示为 NULL。 #### 示例 假设存在两个表:`employees` 和 `departments`。 - `employees` 表: | emp_id | emp_name | dept_id | |--------|----------|---------| | 1 | Alice | 10 | | 2 | Bob | 20 | | 3 | Charlie | NULL | - `departments` 表: | dept_id | dept_name | |---------|-----------| | 10 | HR | | 20 | IT | 执行以下 SQL 查询: ```sql SELECT t1.emp_id, t1.emp_name, t1.dept_id, t2.dept_name FROM employees AS t1 LEFT JOIN departments AS t2 ON t1.dept_id = t2.dept_id; ``` 查询结果如下: | emp_id | emp_name | dept_id | dept_name | |--------|----------|---------|-----------| | 1 | Alice | 10 | HR | | 2 | Bob | 20 | IT | | 3 | Charlie | NULL | NULL | 在此结果中,即使 `Charlie` 的 `dept_id` 为 NULL,仍然出现在结果集中[^1]。 #### 注意事项 - 左连接的结果集始终包含左表的所有记录。 - 如果右表中没有匹配的记录,则右表对应的列值会被填充为 NULL[^2]。 ```sql -- 另一个示例 SELECT a.id, a.name, b.score FROM table_a a LEFT JOIN table_b b ON a.id = b.id; ``` 此查询将返回 `table_a` 中的所有记录,并根据 `id` 字段与 `table_b` 进行匹配。如果没有匹配的记录,则 `b.score` 列的值为 NULL[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值