首页 > 数据库 >sql中left/right join on and where条件的使用

sql中left/right join on and where条件的使用

时间:2023-11-13 14:55:22浏览次数:39  
标签:right join 条件 过滤 sql 主表 where left

 

 

有A和B两张表,使用left join时,

 

左表属于主表

知识点如下:

  • 多表左连接和右连接会生成一张临时表,
  • where 条件是针对最后的临时表进行过滤的
  • on条件是针对非主表进行过滤的

结论:

1.对左表的条件要添加在where 后面,不能放在on后面,因为左表属于主表

2.对右表添加条件是放在ON后面,在where中添加可能会导致数据不正确,因为where是临时表的过滤。

 

 

select * from A left join B  on  A.id = B.id

and B的过滤条件

where A的过滤条件

 

标签:right,join,条件,过滤,sql,主表,where,left
From: https://www.cnblogs.com/Donnnnnn/p/17829069.html

相关文章

  • C#根据json内容动态生成SQL语句,字段数量可以不一样
    publicstaticintUpdate(stringstrJson){intcount=0;List<Dictionary<string,object>>listRows=JsonConvert.DeserializeObject<List<Dictionary<string,object>>>(strJson);foreach(varrowinlistRows){......
  • MySQL timestamp查询
    MySQL是一个常用的关系型数据库管理系统,广泛应用于各个行业的数据存储和处理中。在MySQL中,timestamp是一种常用的数据类型,用于表示日期和时间。本文将介绍如何使用MySQL中的timestamp进行查询操作,并给出相应的代码示例。1.timestamp的概述timestamp是MySQL中的一种日期和时间类......
  • MySQL 人脸向量,欧几里得距离相似查询
    前言    如标题,就是通过提取的人脸特征向量,写一个欧几里得SQL语句,查询数据库里相似度排前TOP_K个的数据记录。做法虽然另类,业务层市面上有现成的面部检索API,技术层现在有向量数据库。        用MySQL关系型存储128维人脸向量,先是进行欧式距离计算就要......
  • 在Android Studio中如何从MySQL数据库中展示项目中的数据?
    要在AndroidStudio中从MySQL数据库展示项目中的数据,你需要遵循以下步骤:1.添加MySQLConnector/J依赖项到你的项目的build.gradle文件中:```groovydependencies{implementation'mysql:mysql-connector-java:8.0.23'}```2.在AndroidManifest.xml文件中添加INTERNET......
  • 正确的语法来在Node中查询MYSQL中的JSON_SET
    在Node.js中,我们可以使用mysql模块来查询MySQL数据库。但是,mysql模块并不直接支持JSON_SET函数,这是一个MySQL特有的函数,用于在JSON文档中插入或更新值。如果你需要在Node.js中使用JSON_SET,你可能需要使用mysql的预处理语句和JSON_EXTRACT函数来实现。以下是一个示例:varmysql=req......
  • t05_Mysql_yml驱动配置
    mysql-properties#mysql5驱动com.mysql.jdbc.Driverspring.datasource.username=rootspring.datasource.password=rootspring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?useSSL=false&userUnicode=true&characterEncoding=utf-8spring.datasour......
  • Brew安装的MySQL8.0忘记密码修改密码
    #查看my.ini位置$mysqld--help--verbose|more#找到这一行,挨个试试,看存不存在#/etc/my.cnf/etc/mysql/my.cnf/usr/local/etc/my.cnf~/.my.cnf$ls/etc/my.cnfls:/etc/my.cnf:Nosuchfileordirectory$ls/etc/mysql/my.cnfls:/etc/mysql/my.cnf:Nos......
  • 为什么MySQL不建议使用delete删除数据?
    MySQL并不直接建议禁止使用DELETE语句删除数据,但是在某些情况下,使用DELETE可能会带来一些潜在的问题,特别是在大型数据库中。下面我将详细介绍为什么在某些情况下MySQL不建议过度使用DELETE语句来删除数据,并探讨其可能带来的影响。1.DELETE操作的影响DELETE语句用于从表中删除......
  • 4 种 MySQL 同步 ES 方案
    本文会先讲述数据同步的4种方案,并给出常用数据迁移工具1.前言在实际项目开发中,我们经常将MySQL作为业务数据库,ES作为查询数据库,用来实现读写分离,缓解MySQL数据库的查询压力,应对海量数据的复杂查询。这其中有一个很重要的问题,就是如何实现MySQL数据库和ES的数据同步,......
  • Entity Framework 触发原始 SQL 查询
     通过一下代码可以实现在EntityFramework触发原始SQL查询DBCL.DBEntitiesdb=newDBCL.DBEntities();varsql="selectsum(BQty)fromBookTb1";BookStockLbl.Text=db.Database.SqlQuery<int>(sql).Single()+""; 其中db为数据库对象BookStockLbl为前端接收数......