首页 > 数据库 >数据库关联查询(左连接、右连接)

数据库关联查询(左连接、右连接)

时间:2023-04-21 10:24:58浏览次数:41  
标签:table2 join 数据库 查询 条件 连接 left

在项目中用到多表联合查询,发现2个现象,今天解决这2个疑问:

1、left join连接2张表,on后的条件第一个生效,用and连接的其他条件不生效;

2、一旦加上where,则显示的结果等同于inner join;

先写结论:

过滤条件放在:

where后面:是先连接然生成临时查询结果,然后再筛选

on后面:先根据条件过滤筛选,再连 生成临时查询结果

table1 left join table2 on 条件1(有效)  and 条件2(无效)

table1 left join table2 on 条件1(有效) where 条件2(有效)

table1 left join table2 on (条件1(有效) and 条件2(有效))

标签:table2,join,数据库,查询,条件,连接,left
From: https://www.cnblogs.com/aikeming/p/17339369.html

相关文章

  • mysql给查询加序号
    SELECT*FROMstudent; SELECT`name`,`subject`,`score`,(@i:=@i+1)AS'序号'FROMstudent,(SELECT@i:=0)ASitable; ......
  • 非关系型数据库安装-redis安装
    linux安装redis最新稳定版本原创 PHP星 编程经验共享 2023-03-1608:00 发表于广东收录于合集#linux18个#redis5个在安装redis之前我们需要提前安装编译安装需要的扩展库,例如:gcc,make等。但是最新版本要求需要python3的支持,所以我们还需要安装python3.1.安装......
  • SQL JOIN的常见连接算法(转载)
    原文:https://zhuanlan.zhihu.com/p/495442432在数据库和大数据领域,通过SQL中的JOIN连接将两个及两个以上的表(或中间表、视图、物化视图)中的数据按指定的连接条件关联起来,是很常用也很方便的操作。我们前面学习了JOIN有多种常见连接方式如内连接INNERJOIN、左外连接LEFTJOIN等......
  • mysql数据库学习1-cmd中乱码怎么办
    由于今天学习orcal,于是便顺便看下mysql,不看不知道,一看吓一跳,自己竟然不知道怎么用cmd登陆mysql。荒废了如此!首先,我们在cmd中要输入用户名和密码,此处的登陆方式不同于sqlplus;mysql-u用户名-p密码在查看当前用户下的表列表时,发现有几个是乱码,因为实在navicat中创建的,所以在编......
  • django获取当前用户提交到数据库的最新一条记录
    比如想获取最新一条数据的更新时间,datas返回的是一个QuerySet,是一个查询集可能用了filter,当用.last()返回最后一条记录时报错  objectisnotiterable然后用reverse()加上切片获取最后一条数据:reverse按倒序排列deflasttime(self):utime=FollowNote.objects.filte......
  • Django笔记二十六之数据库函数之数学公式函数
    本文首发于公众号:Hunter后端原文链接:Django笔记二十六之数据库函数之数学公式函数这一篇来介绍一下公式函数,主要是数学公式。其中sin,cos这种大多数情况下用不上的就不介绍了,主要介绍下面几种:Abs()绝对值Ceil()向上取整Floor()向下取整Mod()取余Power()乘方Roun......
  • TCP连接状态的多种判断方法
    ​前言在TCP网络编程模型中,无论是客户端还是服务端,在网络编程的过程中都需要判断连接的对方网络状态是否正常。在linux系统中,有很多种方式可以判断连接的对方网络是否已经断开。通过错误码和信号判断通过select系统函数判断通过TCP_INFO套接字选项判断通过SO_KEEPALIVE套接......
  • 一种基于Unix Domain和TCP连接的跨设备多进程间通信的方法
    ​前言:在linux系统进程间通信的方式有消息,消息队列,管道,内存映射,套接字等多种方式。在Android系统上进行进程间通信主要是使用Binder,其它的还有共享内存,管道,RPC和UnixDomain等方式。但是,在linux中常用的消息队列,在Android等系统上并不能直接的使用,Android上常用的Binder,在其他......
  • 让安卓手机wifi保持连接
    前言使用国产手机不会遇到这个问题,使用谷歌手机经常遇到这个,wifi老自己断开,然后就导致在手机上部署的服务因为没有网,啥都没有了。使用场景那么这次就是为了解决这个问题首先手机需要root然后在手机目录:/data/misc/wifi/ 创建一个conf文件,文件名为wpa_supplicant.conf......
  • Python操作Neo4j数据库使用案例
    Python操作Neo4j数据库使用案例一、数据结构二、上传数据三、清空数据库项目数据和代码  Neo4j是一个世界领先的开源的基于图的数据库。其语言操作简单直观,本文假设你已经安装好Neo4j数据库,并对知识图谱有一定的了解。Neo4j数据库的查询语言为CQL,其代表Cypher查询语言。像Orac......