SQL --几张表公有字段的查询
2019独角兽企业重金招聘Python工程师标准>>>
已知:t_a中有字段userId,t_b表中有userId、userName
需求:我想找出t_a,t_b表中公共的用户的名称
说明:我用useFlag字段判断用户是否有效
//查询方式一
select ta.userId,tb.userName
from t_a ta
left join t_b tb
on ta.userId=tb.userId
and tb.useFlag = 1
//查询方式二
select tb.userId,tb.userName
from t_a ta
left join t_b tb
on ta.userId=tb.userId
and tb.useFlag = 1
解析:如上两种查询方式唯一的区别点就在于ta.userId与tb.userId
现在假设:
1.t_a表中有userId=1000000001
2.t_b表中有userId=1000000001,且useFlag = 0
如果采取方式一查询,得出的结果是
userId userName
1000000001 null
采取方式二查询得到的结果是
userId userName
null null
我的业务需求是
如果取回来了userId,那就说明userName是有值的(这里假设userName非空)
如果采取方式一查询,很明显不对。
备注:以前写SQL的时候,当查询的两张表中有公共字段需要被查出来时,我是随便用哪张表.公有字段查询出来的。如今看来,取公有返回字段的时候,最好是考虑下应该取那种表的字段更加准确些。
转载于:https://my.oschina.net/u/2312022/blog/540373
SQL --几张表公有字段的查询相关推荐
- Access sql语句创建表及字段类型
创建一张空表: Sql="Create TABLE [表名]" 创建一张有字段的表: Sql="Create TABLE [表名]([字段名1] MEMO NOT NUL ...
- columnproperty server sql_导出SQL Server数据库表中字段的说明/备注
时 间:2013-02-18 09:09:11 作 者:摘 要:导出SQL Server数据库表中字段的说明/备注 正 文: 打开SQL企业管理器 ,找到你要导出用户表字段信息的那个数据库 ,点击工具 ...
- SQL两张表如何关联
SQL两张表如何关联查询 比如:我有table1 和 table2 两张表table1: id name sex 1 张三 男 2 李四 女 3 王五 男table2: ...比如:我有table1 ...
- MYSQL多线程并发操作同一张表同一个字段的更新问题
MYSQL多线程并发操作同一张表同一个字段的更新问题? 可以用乐观锁方案: 在表里增加个字段,版本号字段 每次更新前先从数据库里获取这个版本号的值,然后更新时要同步更新版本号+1,并且增加更新条件版本 ...
- SQL Server 将一个表中字段的值复制到另一个表的字段中
原文:SQL Server 将一个表中字段的值复制到另一个表的字段中 具体方法如下 一:update 表2 set (要插入的列名)= select 表1.某一列 from 表1 left jion ...
- sql 一张表递归_查看我的递归视觉指南(因为一张图片价值1,000字)
sql 一张表递归 In this article, I will explain recursion (almost) completely with visual representations. ...
- sql 两张表的相同字段中刷选出不同数据
我们在业务逻辑中,经常会涉及两张表之间的数据比较, 其中涉及到某张表中独一份的数据,如下 1 两张表中相同字段name , 查询出在表a存在而表b中不存在的数据,并去重 方法一: SELECT DIS ...
- SQL两张表或者多表连接查询
C](多张表关联) 记录一下开发的点滴 开发需求: 1.文档管理员有权限进行对文件夹的新建和文件的上传,并且查看的是所有的文档.2.非文档管理员只能查看与所在部门(以及所在部门的下级部门)相关联的文件 ...
- mysql 同一张表 某个字段更新到另一条数据上_面试基础:数据库MySQL基础入门(下)...
本文是面试基础的第二篇.本篇偏理论,包括三节: 事务和并发 数据库设计 索引 所选的三个内容均是面试的高频考察点,需要细致地理解 No.1 事务和并发 事务:数据库操作的基本单元.对于数据库的 ...
最新文章
- [JS] [编程题] 配置文件恢复
- oracle 批处理 执行结果,在windows下怎么在批处理文件里面执行sqlplus并得到结果?...
- 如何在调试页面的时候清除页面的缓存?
- 安装高可用性虚拟机,livemigration系列之九
- $.post请求的参数在后台代码中得到为null_996难得休息,小伙打开steam网页看了一款游戏,输入密码后却习惯性按了F12研究起了JS代码...
- 生成最简单的验证码图片的Java代码
- 四川加油,中国人加油!我们永远不服输!
- Prewitt滤波器的实现,对比Prewitt滤波器和Sobel滤波器提取图像边缘的效果
- IntelliJ IDEA安装lombok
- 百度文库下载工具(引言及使用教程)
- IOS 视屏开发之AVPlayer的基本使用
- 教你安装ps,pr,ae,ai等Adobe软件,办公必备
- FPGA课程:JESD204B的应用场景(干货分享)
- 《UnityAPI.Camera摄像机》(Yanlz+Unity+SteamVR+云技术+5G+AI+VR云游戏+allCameras+cullingMask+OnPreCull+立钻哥哥++OK+)
- vnc连接,什么是vnc连接?有好用的vnc连接软件推荐吗?
- OLED显示STM32
- 【程序】STM32使用SPI接口读取93C46存储器上的数据(非软件模拟SPI时序)
- html获取页面点击事件吗,jquery 获取页面点击事件 $(body).click()
- Java 实现调度算法 包括 FCFS(FIFO)、优先权排队、循环排队、加权公平排队(WFQ)
- 【信息学奥赛一本通】题解大全