https://zhidao.baidu.com/question/541791438.html

select 学号 a,成绩 a,姓名 b from 成绩表 a,学生表 b where a.学号=b.学生编号 和 
select 学号 a,成绩 a,姓名 b from 成绩表 a jion 学生表 b on a.学号=b.学生编号 这两个语句是等价的吗 ?  
如果不等价在什么情况下使用这两种查询方式,求大侠解答!!!

如果不深入研究的话,结果是一样的,但是个人建议用第二种,效率上应该高于第一种,而且写代码的时候思路也清晰,join on内连接,on后面加连接条件,再加where,但第一种写法中where后的条件都写在一起了,时间长自己就忘了,别人看着也难受

第一种是关联查询查询结果只会出来两张表学号一样的数据出来第二种是级联查询查询结果是参照成绩表出来的,join的表只是作辅助数据,如果有加b.姓名的话,你就会看到,和成绩表学号一样的,就会显示出姓名,而不一样的则会显示null上面两种查询结果不等价但是如果将第二句加上一个条件就等价了select 学号 a,成绩 a,姓名 b from 成绩表 a jion 学生表 b on a.学号=b.学生编号where IsNull(b.学生编号,'')<>''

select *from where 和select *from jion on 语句的差别的更多相关文章

  1. SQL Server中SELECT会真的阻塞SELECT吗?

    在SQL Server中,我们知道一个SELECT语句执行过程中只会申请一些意向共享锁(IS) 与共享锁(S), 例如我使用SQL Profile跟踪会话86执行SELECT * FROM dbo.T ...

  2. SQLSERVER 里SELECT COUNT(1) 和SELECT COUNT(*)哪个性能好?

    SQLSERVER 里SELECT COUNT(1) 和SELECT COUNT(*)哪个性能好? 今天遇到某人在我以前写的一篇文章里问到 如果统计信息没来得及更新的话,那岂不是统计出来的数据时错误的 ...

  3. MySQL select into 和 SQL select into

    现在有张表为student,我想将这个表里面的数据复制到一个为dust的新表中去,虽然可以用以下语句进行复制,总觉得不爽,希望各位帮助下我,谢谢.  answer 01: create table d ...

  4. <select>改造成<s:select>实现表单的回显功能

    初始: <select name="viewType"> <option value="0">全部主题</option> & ...

  5. 浅谈select for update 和select lock in share mode的区别

    有些情况下为了保证数据逻辑的一致性,需要对SELECT的操作加锁.InnoDB存储引擎对于SELECT语句支持两种一致性的锁定读(locking read)操作. . SELECT …… FOR UP ...

  6. mybatis中union可以用if判断连接,但是<select>中第一个select语句不能被if判断,因此可以从dual表中查询null来凑齐。union如果使用order by排序,那么只能放在最后一个查询语句的位置,并且不能带表名。

    <!-- 一址多证纳税人分析表 --> <select id="yzdznsrlistPage" parameterType="page" r ...

  7. SQL Fundamentals: Basic SELECT statement基本的select语句(控制操作的现实列)(FROM-SELECT)

    SQL Fundamentals || Oracle SQL语言 Capabilities of the SELECT Statement(SELECT语句的功能) Data retrieval fr ...

  8. select for update和select for update wait和select for update nowait的区别

    CREATE TABLE "TEST6" ( "ID" ), "NAME" ), "AGE" ,), "SEX ...

  9. 修改select样式,vue select

    <style> .selectbox{ width: 200px; display: inline-block; overflow-x: hidden; height: 28px; lin ...

随机推荐

  1. 删除多余的OracleOraDb11g_home1TNSListenerLISTENER1

    oracle 监听服务有 OracleOraDb11g_home1TNSListenerLISTENER 和OracleOraDb11g_home1TNSListenerLISTENER1 两个. 用 ...

  2. Eclipse+Maven+TestNg+ReportNg 生成测试报告

    http://blog.csdn.net/a542551042/article/details/46729585

  3. Structure Streaming和spark streaming原生API访问HDFS文件数据对比

    此文已由作者岳猛授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. Structure Stream访问方式 code examples import org.apache.sp ...

  4. Lightoj1014【基础题】

    题意: 有C个人,安排了P个吃的,每个人会吃Q个吃的,最后留下L个吃的:求所有可能的Q,从小到大输出,要保证Q>L; 思路: 其实就是求出P-L的所有数的约数,然后这个约数>L的话就满足: ...

  5. unity3d 在UGUI中制作自适应调整大小的滚动布局控件

    http://blog.csdn.net/rcfalcon/article/details/43459387 在游戏中,我们很多地方需要用到scroll content的概念:我们需要一个容器,能够指 ...

  6. [Xcode 实际操作]一、博主领进门-(8)应用代理文件(AppDelegate.swift)详解

    目录:[Swift]Xcode实际操作 本文将演示使用iOS模拟器,演示程序的生命周期. 在项目导航区,打开应用代理文件[AppDelegate.swift] 应用代理文件时系统运行本应用的委托,里面 ...

  7. Info.plist配置相关文件访问权限

    <key>NSAppleMusicUsageDescription</key> <string>App需要您的同意,才能访问媒体资料库</string> ...

  8. django_logging

    django使用python自带的logging打印日志 logging 是线程安全的,其主要由4部分组成: Logger 用户使用的直接接口,将日志传递给Handler Handler 控制日志输出 ...

  9. nginx,tomcat,apache三者分别用来做什么,有何区别

    1. Nginx和tomcat的区别 nginx常用做静态内容服务和代理服务器,直接外来请求转发给后面的应用服务器(tomcat,Django等),tomcat更多用来做一个应用容器,让java we ...

  10. 基于华为云语音通知 VoiceCall 的应用上线记录并分享.NET CORE DEMO

    最近公司要上线语音通知功能,需求如下: 场景:发生报警时,自动通知到指定的手机号,同时,提供几个按键选项,例如,语音通知如下: “您好,XXX小区发生XXXX报警,按1确认报警,按2忽略报警,按3屏蔽 ...