首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

sql连接查询中on筛选与where筛选的区别

sql查询支持两种筛选器呢?...sql中的连接查询分为3种, cross join,inner join,和outer join , 在 cross join和inner join中,筛选条件放在on后面还是where后面是没区别的...因此,on筛选和where筛选的差别只是针对outer join,也就是平时最常使用的left join和right join。 来看一个示例,有两张数据表,结构和数据如图所示 表main ?...现在我们需要将地址不为杭州的所有用户信息筛选出来,结果中需要包含main表和ext表的所有字段数据。...当把 address '杭州' 这个筛选条件放在on之后,查询得到的结果似乎跟我们预料中的不同,从结果中能看出,这个筛选条件好像只过滤掉了ext表中对应的记录,而main表中的记录并没有被过滤掉,

3.4K80
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    sql中的嵌套查询_sql的多表数据嵌套查询

    今天纠结了好长时间 , 才解决的一个问题 , 问题原因是 求得多条数据中, 时间和日期是最大的一条数据 先前是以为只要msx 函数就可以解决的 , Select * from tableName..., 因为测试的时候是一天中的两条数据, 没有不同的日期,所以当日以为是正确的 ,然而第二天写入数据了,要取出数据,却发现没有数据, 返回空的行, 以为都是代码又有问题 了,找了半天都没有 ,仔细看看了存储过程中的代码...这个是嵌套查询的语句。 先执行的是外部查询的语句 。 比如说有三条信息.用上面写的语句在SQL分析器中执行 分析下这样的查询 先查找的是 日期 , 日期最大是下面两条语句 。 在对比时间 。...发现时间最大的只有一 条数据, 这样第二条数据就理所当然的被取出来了。 这个是当时测试的结果 但后来我修改了数据 。第二天测试发现,数据为空了。 没有数据 。...分析是这样的 查询到的最大天数是2013-03-18这条数据。第三行。 而时间最带的是21:12:21 是第二条数据 这样与的结果就是没有交集,为空了。 后来通过 查找课本和询问他人。

    7.1K40

    删除数据库中未指定名称的外键的存储过程

    数据库中的某个表A,因为业务原因被移到别的库。麻烦的是,有几张子表(B, C, D等)建有指向它的外键,而且在创建时没有指定统一的外键名。...如此一来,在不同的环境(开发、测试、生产等)中该外键的名称不一样,必须逐个去查询外键名再进行删除,十分不便。...为此,特地编写了一个存储过程,只须指定子表名(B,C,D)和外键的列名,直接调用该存储过程即可。...Oracle的存储过程代码如下: -- 删除指定表、指定列上的外键(系统命名或未知名) CREATE OR REPLACE PROCEDURE DROP_FK(P_TABLE IN VARCHAR2,...-- 删除指定表、指定列上的外键(系统命名或未知名) CREATE OR REPLACE FUNCTION DROP_FK(P_TABLE IN VARCHAR, P_COLUMN IN VARCHAR

    1.3K10

    sql查询每组数据中时间最大的一条

    博主好久没写过后端了,这一写就直接碰到我知识盲区了 我们简单还原一下,这里使用一个表模拟下 表的字段如下 表的内容如下,我们的需求就是取出相同name的数据中时间最新的一条。...不知道大家首先会想到什么,我第一想到的是使用group,当时认为分组不就是group吗,害,easy 然后我就开始了尝试,结果。。。。。 好像不是这么回事呀。。。。...然后开始我的错误解决之路。。。。 就在我想要放弃的时候,我突然脑子清醒了,开始仔细思考这个需求,不就是把每个名字和最新的时间拿出来,然后再根据名字和最新时间直接查,不就是最新记录了吗?...ll | 2023-05-26 20:01:54 | | oo | 2023-05-03 20:01:56 | +------+---------------------+ 而后我们只需要将上面查询的数据和表中的数据进行左连接即可...顺便请教下大佬们,有没有效率更高的方法,方便的话评论区交流下吧。

    26410

    软件测试|SQL分类大概有几种?SQL中什么是主键和外键,它们之间的区别是什么?

    SQL语言分为五大类:DDL(数据定义语言) - Create、Alter、Drop 这些语句自动提交,无需用Commit提交。DQL(数据查询语言) - Select 查询语句不存在提交问题。...DCL(数据控制语言) - Grant、Revoke 授予权限与回收权限语句。SQL主键和外键:结论主键和外键是数据库设计中的重要概念,因为它们有助于建立表之间的关系并帮助确保数据的完整性。...什么是外键外键是一个表中的一个列(或一组列),指的是另一个表中的主键。它被用来在两个表之间建立联系,并被用来在数据库中执行参考完整性。外键基本上是一个表中的字段/列,类似于其他表的主键。...与主键不同,一个表可以有一个以上的外键。而且,在关系数据库中,外键可以包含重复值和空值。一个外键的值可以从子表中删除。...数据库中主键和外键的重要区别下表强调了主键和外键之间的所有重要区别Key主键外键Basic它用于唯一地识别表中的数据。它用于维护表之间的关系。Null它不可能是NULL。它可以接受NULL值。

    94240

    mysql,SQL标准,多表查询中内连接,外连接,自然连接等详解之查询结果集的笛卡尔积的演化

    它实际返回连接表中所有数据行的笛卡尔积,其结果集合中的数据行数等于第一个表中符合查询条件的数据行乘以第二个表中符合查询条件的数据行数,即10X11=110条记录。...查询成绩中存在不及格课程的学生的姓名,所在系,所有的课程及成绩信息。...从student表和teacher表中查询学生姓名,所在系,所修的本系教师开设的课程的课程号以及开课教师姓名。这时候就采用natural join对两个表进行自然连接。...外连接 不管是内连接还是带where子句的多表查询,都组合自多个表,并生成结果表。换句话说,如果任何一个源表中的行在另一个源表中没有匹配,DBMS将把该行放在最后的结果表中。...SQL的外连接共有三种类型:左外连接,右外连接,全外连接。

    2.5K20

    SQL数据分析实战:从导入到高级查询的完整指南

    我们将使用一个虚构的电子商务数据库作为示例数据源。 步骤1:数据导入 首先,你需要将数据导入数据库中。假设你有一个包含订单、产品和客户信息的数据库。...以下是一个示例SQL语句,用于创建这些表并将数据导入其中: 步骤2:基本查询 一旦数据导入完成,你可以开始执行基本的SQL查询。...以下是一些示例: 查询所有订单信息: 查询特定客户的订单信息: 查询订单总金额大于1000的订单: 步骤3:聚合和汇总 在数据分析中,你经常需要执行聚合操作,以便汇总数据。...以下是一些示例: 计算每个客户的总订单金额: 找到最高订单金额: 步骤4:连接表格 在数据分析中,你可能需要将多个表格连接起来以获取更丰富的信息。...以下是一个示例: 找到每个客户的前两个订单: 这些示例只是SQL数据分析的入门,你可以根据具体的需求进一步深入研究和分析数据。SQL是一个强大的工具,可以用来解决各种数据分析问题。

    12710

    SQL数据分析实战:从导入到高级查询的完整指南

    当进行SQL数据分析实战时,有一些关键步骤和技巧可以帮助你更好地理解和利用数据。在本文中,我们将探讨数据分析的一些基本概念,并提供一些SQL示例来说明这些概念。...我们将使用一个虚构的电子商务数据库作为示例数据源。 步骤1:数据导入 首先,你需要将数据导入数据库中。假设你有一个包含订单、产品和客户信息的数据库。...一旦数据导入完成,你可以开始执行基本的SQL查询。...1000的订单: SELECT * FROM orders WHERE total_amount > 1000.00; 步骤3:聚合和汇总 在数据分析中,你经常需要执行聚合操作,以便汇总数据。...SQL是一个强大的工具,可以用来解决各种数据分析问题。希望这些示例能帮助你入门SQL数据分析实战。

    74220

    如何使用 Python 和 SQLAlchemy 结合外键映射来获取其他表中的数据

    在使用 Python 和 SQLAlchemy 时,结合外键映射可以让你在查询时轻松地获取其他表中的数据。...SQLAlchemy 提供了丰富的 ORM(对象关系映射)功能,可以让你通过定义外键关系来查询并获取关联的数据。下面我会演示如何设置外键关系,并通过 SQLAlchemy 查询获取其他表中的数据。...现在,我们希望从 Order 表中查询订单信息时,同时获取该订单所属客户的姓名和电子邮件地址。...总结结合外键映射,你可以通过 SQLAlchemy 轻松地获取不同表之间关联的数据。你可以使用:relationship:设置表之间的关系(如外键),并通过 ORM 获取关联的数据。...联接查询 (joinedload):通过联接查询加载关联数据,提高查询效率。直接访问外键列:直接访问与外键相关的表格数据。

    14310

    Django中基表的创建、外键字段属性简介、脏数据概念、子序列化

    假设图书管理系统中书、出版社、作者、作者详细信息四张表之间的关系如下: """ 表关系 1)Book 和 Publish 一对多:外键在多的一方 Book 2)Book 和 Author 多对多:外键在查询频率高的一方...更合理) """ Django orm中外键字段属性详解 在建表之前我们对外键字段属性进行了解: 1)related_name在外键中设置外键反向查询的字段名:正向找字段名,反向找related_name...,将两张表设置为级联,并将外键反向查询的字段名设置为detail 数据库中脏数据介绍 数据库中常见的并发操作所带来了一致性问题包括:丢失的修改,不可重复读,读“脏”数据,幻读。...a.事物A按一定的条件从数据库中读取某些数据记录后,事物B插入了一些记录,当B再次按照相同条件读取数据时,发现多了一些记录。(也叫做幻影读)。...如果涉及到通过外键进行跨表查询,然后再将查询数据反序列化到前台就需要用到子序列化,比如下面的例子:我们查询出版社信息的时候连带将book表中的该出版社所出版过的书名一并查出来。

    4.3K30

    《sql必知必会》——读书笔记(1)

    d.使用主键和外键越多越好 复用原则,通过主键和外键的使用来增强数据表之间的复用率。因为一个主键可以理解为一张表的代表。键设置的越多,证明它们之间的利用率越高。...b.DISTINCT工作原理 dinstinct 其实是对后面所有列名的组合进行去重。 2.约束查询的好处 可以减少数据表的网络传输量,也可以提升查询效率。...需要注意的时候,这些步骤隐含在sql的执行过程中,对我们来说并不可见。 c.sql的执行原理 首先,你可以注意到,select是先执行from这一步的。...这个过程得到的是我们的原始数据。 当我们拿到了查询数据表的原始数据,也就是最终的虚拟表vt1,就可以在此基础上再进行where阶段。在这个阶段中,会根据vt1表的结果进行筛选过滤,得到表vt2....在这个阶段中,时间上是在虚拟表vt2的基础上进行分组和分组过滤,得到中间的虚拟表vt3和vt4。

    1.3K20

    Excel学习----一键创建相应“惟一性”的文件,再筛选数据并写入相应的文件中

    Excel学习----一键创建相应“惟一性”的文件,再筛选数据并写入相应的文件中 我们的口号是:Excel会用的是excel,不会用的是电子表格 领导是要求是:有这样的一个表格,请按“模板”文件,建立面试级别的几个文件...,并筛选出相应的内容填写到各工作簿中, 常规的做法是:~~~~~~~~~头痛啦 目标:是把多次多次多次“打开文件”---“复制”---“粘贴”—“关闭文件”的工作化为“一键完成” 问题1:一键复制模板文件并按...D列“惟一性”命名 问题2:分别筛选出相应的数据并写入到相应文件中,如:把“初中语文1组”的相应的数据填写到“初中语文1组.xlsm”文件中,把“小学数学1组”的相应的数据填写到“小学数学1组.xlsm...”文件中, ====这是开始的两个文件======== =====代码在“控制文件.xlsm”中===== 代码如下: Sub copy_test() ‘一键按复制模板文件并按D列惟一性命名...D列惟一性命名】按钮~~~~~成功 【分别筛选并写入相应的文件】按钮~~~~~成功

    83230
    领券