如果大家有人在做数据分析和数据维护时,可能会使用到多表关联的查询语句,这样复杂的SQL语句查询不出结果会很让大家头疼,如何能够快速准确地找到哪个表或者哪个字段出现的问题,导致整个SQL语句查询不出结果。
本文章向大家介绍写自己的心得,帮助大家轻松、快速地找出问题所在!
D
|
A-B-F A-B-C-D-E-F
| 图2
C
|
E
图1
例如下面的SQL语句
select A.*,B.*,C.* from A,B,C,D,E,F where A=B and A=C and A=D and C=E and B=F and A.field1='field1' and A.field2='field2' and B.field='bfield' and C.field='cfield'
A=B代表A、B关联,其它的同理
分析步骤:
1.首先去掉所有的字段的查询条件,去掉A.field1='field1'等,查看整个关联是否是通的,是否能查询出数据
2.如果不是通的(查询出结果为空),则要找出哪两个表没有关联上,如果是通的(能够查询出结果),在多表关联中,一般都会有一个主表,其他表都与该表有直接或间接的关联(即A、C直接关联,A、E间接关联),如果存在主表的查询条件,如A.field1='field1',则从A表开始入手,根据关联查询B,C,D表,并逐个查看其他表的查询条件是否符合,直至找到不符合的地方,找到问题之所在!如果并没有图1中的主表A,而是图2这样的情况,可以从链条的某个节点出发,同样根据关联关系,查看其它的表是否符合条件,直至找到问题所在!
不同人会有不同的方法,但我个人认为上面的方法会更加快速的,条理清晰的找到问题的所在!希望大家在分析数据时有所帮助!
分享到:
相关推荐
sql server 数据库 多表关联查询语句
Visual C++源代码 158 如何获取SQL语句多个查询结果表Visual C++源代码 158 如何获取SQL语句多个查询结果表Visual C++源代码 158 如何获取SQL语句多个查询结果表Visual C++源代码 158 如何获取SQL语句多个查询结果表...
sql多表关联查询,三表关联查询
sql多表关联查询
sql语句查询分析器sql语句查询分析器sql语句查询分析器
ODBC编程中,不可能只有一个数据表,多表查询SQL语句同样胜任!
自己学习的笔记--查询计算机系CS男学生学号、姓名和考试成绩 SELECT A.Sno,A.Sname,B.degree FROM student A,sc B WHERE A.Sdept = 'CS' AND A.Ssex = '男' AND A.Sno = B.sno SELECT A.Sno,A.Sname,B.degree FROM ...
浅谈Linq to sql 的多表关联与动态条件查询
由浅入深sql语句(外键,左关联,右关联,全关联) 内连接,外连接
获取SQL语句多个查询结果表 编程小实例,C++.net源代码编写
这个查询分析器是SQL Server 2000里提取出来的,压缩文件只有900多K,不需安装,功能足够,十分方便,技术人员或实施人员可放邮箱或U盘里,随时可用。 数据库比较工具: 可对SqlServer的两个数据库表结构等进行...
比较全的SQL语句 create update delete
关于SQL Server SQL语句查询分页数据的解决方案
例如: 两表(多表)关联update -- 仅在where字句中的连接 --这次提取的数据都是VIP,且包括新增的,所以顺便更新客户类别 update customers a -- 使用别名 set customer_type='01' --01 为vip,00为普通 where ...
用SQL语句j查SQLServer的表结构 用SQL语句j查SQLServer的表结构
SQL语句查询助手 方便查询简单的sql命令 sql通配符 省去您麻烦的记忆 真正做到想用就用 本软件耗费本人一天时间 就要三个资源分吧 请大家谅解 谢谢大家的支持
Oracle Sql语句转换成Mysql Sql语句java 源码,非常简单,只要给定源oracle sql语句地址,和生成目标文件地址运行即可。
sql语句 与语法sql语句 与语法sql语句 与语法sql语句 与语法sql语句 与语法sql语句 与语法
SQL查询语句大全SQL查询语句大全SQL查询语句大全SQL查询语句大全SQL查询语句大全SQL查询语句大全SQL查询语句大全SQL查询语句大全SQL查询语句大全
SQL查询结果拼接