数据库多表连接left join
CREATE TABLE A
(ID integer,
DIS integer,
branch integer,
trans integer)
insert into A (id,dis,branch,trans) values (68001,568,568,001);
CREATE TABLE B
(ID integer,
ID_APP integer)
insert into B (id,id_app) values (68001,68001);
CREATE TABLE C
(ID integer,
DIS integer,
branch integer,
trans integer
status integer)
insert into C(id,dis,branch,trans,status) values (68001,568,568,001,02);
insert into C (id,dis,branch,trans,status) values (68001,218,218,005,02);
select a.id as id_app,b.id,c.status from A a
left join C c on a.dis = c.dis
and a.branch = c.branch
and a.trans = c.trans
and a.id = c.id
left join B b on c.id=b.id我期望得到的结果是
id_app id status
68001 68001 02
实际得到的结果是
68001 NULL 02
关于第二个左连接(...)D left join B等值连接条件c.id=b.id中的c.id并没有在第一个左连接中选出来,但是C表和B表都存在id为68001的记录的。
我想问的是怎么才能得到我期望的结果?怎么分析多表连接最终得到的结果?
相关推荐
Android建立多表及多表查询demo
Android SQlite 多表建立 多表查询
Database之SQLSever:SQL命令实现查询之多表查询、嵌套查询、分页复杂查询,删除表内重复记录数据、连接(join、left join和right join简介及其区别)等案例之详细攻略
Database之SQLSever:SQL命令实现查询之多表查询、嵌套查询、分页复杂查询,删除表内重复记录数据、连接(join、left join和right join简介及其区别)等案例之详细攻略 目录 SQL命令实现查询之多表查询、嵌套查询、分页复杂查询 1、多表查询 2、嵌套查询、分页复杂查询 SQL命令实现删除表内重复记录数据、连接 1、删除表内重复记录数据 SQL多表的各种连接方式(join、left join和right join简介及其区别) 1、join、left joi
\Access数据库的多表查询
delphi 系统开发Access数据库的多表查询
【数据库技术】MySQL多表连接JOIN的使用详解:涵盖INNER JOIN、LEFT JOIN、RIGHT JOIN的应用场景与实例
内容概要:本文详细介绍了 MySQL 中 JOIN 的使用方法,涵盖 INNER JOIN(内连接)、LEFT JOIN(左连接)和 RIGHT JOIN(右连接)。内连接用于获取两个表中字段匹配关系的记录;左连接返回左表所有记录,即使右表没有对应匹配的记录;右连接则相反,返回右表所有记录,即使左表没有对应匹配的记录。文章通过具体的 SQL 语句和实例,展示了如何在 SELECT、UPDATE 和 DELETE 语句中使用 JOIN 来联合多表查询,并解释了连接条件和表别名的使用。此外,还提供了在 PHP 脚本中使用 JOIN 的示例代码,帮助开发者更好地理解和应用多表查询。 适合人群:具备一定数据库操作基础,尤其是熟悉 MySQL 的初学者和中级用户。 使用场景及目标:①理解不同类型的 JOIN 如何在多表查询中发挥作用;②掌握如何通过连接条件和表别名优化查询语句;③学习如何在实际项目中结合 PHP 和 MySQL 进行多表数据查询。 阅读建议:此资源不仅提供了理论知识,还包含了大量实际操作的 SQL 语句和 PHP 示例代码。读者应结合实例动手实践,逐步掌握 JOIN 的用法,并注意理解连接条件的选择和表间关系的设计。
SQL语句的多表查询
ODBC编程中,不可能只有一个数据表,多表查询SQL语句同样胜任!


