“查询存在" 01 "课程但可能不存在" 02 "课程的情况(不存在时显示为 null )”

——翻译为:课程表里面,存在01的信息,未必满足有02的课程情况

——觉得题意不是很明确,但是就当成练习left join 和right join的理解

1、存在01课程情况

SELECT * from sc WHERE sc.CId='01'

2、存在02课程情况

SELECT * from sc WHERE sc.CId='02'

3、满足存在01,但是未必存在——满足01方向结果,未必满足02方向结果

SELECT * from (SELECT * from sc WHERE sc.CId='01')as t1 LEFT JOIN (SELECT * from sc WHERE sc.CId='02')as t2 ON t1.SId=t2.SId

3.1对比,满足02,未必满足01方向结果:

SELECT * from (SELECT * from sc WHERE sc.CId='02')as t1 LEFT JOIN (SELECT * from sc WHERE sc.CId='01')as t2 ON t1.SId=t2.SId

【既left join ,满足左边条件,右边可能为空】

【既right join ,满足右边条件,左边可能为空】

小菜菜mysql练习解读分析2——查询存在" 01 "课程但可能不存在" 02 "课程的情况(不存在时显示为 null )的更多相关文章

  1. 小菜菜mysql练习解读分析1——查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数

    查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数 好的,第一道题,刚开始做,就栽了个跟头,爽歪歪,至于怎么栽跟头的 ——需要分析题目,查询的是 ...

  2. MySQL之pt-query-digest分析慢查询日志的详情介绍

    一.简介 pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog.General log.slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdu ...

  3. 小菜菜mysql练习50题解析——数据准备

    附上数据准备: 学生表 create table Student(SId varchar(10),Sname varchar(10),Sage datetime,Ssex varchar(10)); ...

  4. MySQL执行计划分析

    原文:MySQL执行计划分析 一. 执行计划能告诉我们什么? SQL如何使用索引 联接查询的执行顺序 查询扫描的数据函数 二. 执行计划中的内容 SQL执行计划的输出可能为多行,每一行代表对一个数据库 ...

  5. MySQL优化 - 性能分析与查询优化(转)

    出处:  MySQL优化 - 性能分析与查询优化 优化应贯穿整个产品开发周期中,比如编写复杂SQL时查看执行计划,安装MySQL服务器时尽量合理配置(见过太多完全使用默认配置安装的情况),根据应用负载 ...

  6. 【MySQL笔记】数据库的查询

    数据库的查询 注:文中 [ ...] 代表该部分可以去掉. 理论基础:对表对象的一组关系运算,即选择(selection).投影(projection)和连接(join) 1.select语句 子语句 ...

  7. MySQL的四种不同查询的分析

    1.前置条件: 本次是基于小数据量,且数据块在一个页中的最理想情况进行分析,可能无具体的实际意义,但是可以借鉴到各种复杂条件下,因为原理是相同的,知小见大,见微知著! 打开语句分析并确认是否已经打开 ...

  8. MySQL高级第三章——查询截取分析

    一.查询分析 1.永远小表驱动大表 使用小的数据集驱动大的数据集. //复习 EXISTS 的知识:SELECT ... FROM tb WHERE EXISTS (subquery) 是因为前后数据 ...

  9. MySQL 使用profile分析慢sql,group left join效率高于子查询

    MySQL 使用profile分析慢sql,group left join效率高于子查询 http://blog.csdn.net/mchdba/article/details/54380221 -- ...

随机推荐

  1. easyui combotree combobox 使用例子

    <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> &l ...

  2. python_基础语法

    开始正式接触python的语法: 1. 2.

  3. mssql sqlserver 保留小数位指定位数的2种方法分享

    摘要: 下文讲述将"sql数值型"类型数值转换为指定小数位的数据 方法1:采用 cast 方式转换数值类型至指定小数位: ,) set @a = 18.893 ,) 方法2:采用 ...

  4. China Cloud Computing Conference(2018.07.24)

    时间:2018.07.24地点:北京国家会议中心

  5. C# WPF xml序列化 反序列化

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.W ...

  6. mfc 嵌套类

    嵌套类 一. 嵌套类 嵌套类的定义 将某个类的定义放在另一个类的内部,这样的类定义,叫嵌套类. class AAA { int aaa; class BBB { int bbb; //其它成员或者函数 ...

  7. [Direct2D开发] 从资源加载位图

    转载请注明出处:http://www.cnblogs.com/Ray1024 一.概述 Direct2D使用Windows图像处理组件 (WIC) 来加载位图.从文件加载位图的方法很简单,而且网上的教 ...

  8. 转--看完让你彻底搞懂Websocket原理

    偶然在知乎上看到一篇回帖,瞬间觉得之前看的那么多资料都不及这一篇回帖让我对 websocket 的认识深刻有木有.所以转到我博客里,分享一下.比较喜欢看这种博客,读起来很轻松,不枯燥,没有布道师的阵仗 ...

  9. ace -- api

    Ace The main class required to set up an Ace instance in the browser. 在浏览器中设置一个ace实例所需要的主要类. Methods ...

  10. 动态绑定,多态,static

    1:下面程序的输出结果为: class base2{ static{ System.out.println("static base2"); } } public class te ...