@(一只心中无码的程序员)专栏

叨叨两句

  1. ~

SQL习题035

1

题目描述
film表
字段 说明
film_id 电影id
title 电影名称
description 电影描述信息

CREATE TABLE IF NOT EXISTS film (
film_id smallint(5) NOT NULL DEFAULT '0',
title varchar(255) NOT NULL,
description text,
PRIMARY KEY (film_id));

category表
字段 说明
category_id 电影分类id
name 电影分类名称
last_update 电影分类最后更新时间

CREATE TABLE category (
category_id tinyint(3) NOT NULL ,
name varchar(25) NOT NULL, last_update timestamp,
PRIMARY KEY ( category_id ));

film_category表
字段 说明
film_id 电影id
category_id 电影分类id
last_update 电影id和分类id对应关系的最后更新时间

CREATE TABLE film_category (
film_id smallint(5) NOT NULL,
category_id tinyint(3) NOT NULL, last_update timestamp);

使用join查询方式找出没有分类的电影id以及名称

解题思路是运用 LEFT JOIN 连接两表,用 IS NULL 语句限定条件:
1、用 LEFT JOIN 连接 film 和 film_category,限定条件为 f.film_id = fc.film_id,即连接电影id和电影分类id,如果电影没有分类,则电影分类id显示null
2、再用 WHERE 来限定条件 fc.category_id IS NULL 选出没分类的电影
/** 注意:最后一句若写成 ON f.film_id = fc.film_id AND fc.category_id IS NULL,则意义变成左连接两表 film_id 相同的记录,且 fc.category 的值为 null,由于 fc.category的值不为null,即(f.film_id = fc.film_id AND fc.category_id IS NULL)恒为FALSE,所以左连接后只显示film表的数据,而 film_category 表的数据全为 null**/SELECT f.film_id, f.title FROM film f LEFT JOIN film_category fc
ON f.film_id = fc.film_id WHERE fc.category_id IS NULL

【381天】我爱刷题系列140(2018.02.21)相关推荐

  1. 【244天】我爱刷题系列(3)

    叨叨两句 未来我爱刷题系列将与跃迁之路系列绑定,同步更新,即每天我都将运用跃迁之路的方法进行刻意练习. 总结套路,用乘法思路跃迁. 题8:编写程序把这些IP按数值大小,从小到大排序并打印出来 编写程序 ...

  2. 【352天】我爱刷题系列111(2018.01.23)

    @(一只心中无码的程序员)专栏 叨叨两句 ~ SQL习题006 查找薪水涨幅超过15次的员工号emp_no以及其对应的涨幅次数t CREATE TABLE salaries ( emp_no int( ...

  3. 【340天】我爱刷题系列099(2018.01.11)

    叨叨两句 ~ 牛客网--java专项练习078 1 类Parent和Child定义如下: 1 .class Parent{2. public float aFun(float a, float b) ...

  4. 【312天】我爱刷题系列071(2017.12.14)

    叨叨两句 打算改变一下,以后每天先只做5道题,把更多时间用于项目 牛客网--java专项练习050 1 What will happen when you attempt to compile and ...

  5. 【337天】我爱刷题系列096(2018.01.08)

    叨叨两句 ~ 牛客网--java专项练习075 1 不能用来修饰interface的有( )(仅限外部接口) 正确答案: A C D 你的答案: A C (错误) A private B public ...

  6. 【297天】我爱刷题系列056(2017.11.29)

    叨叨两句 搞定 牛客网--java专项练习036 1 抽象类方法的访问权限默认都是public.( ) 正确答案: B 你的答案: A (错误) 正确 错误 关于抽象类 JDK 1.8以前,抽象类的方 ...

  7. 【372天】我爱刷题系列131(2018.02.12)

    叨叨两句 ~ SQL习题026 1 本题的批量插入数据要求在一条语句内完成,以下有两种方法供参考: 方法一:利用VALUES(value1, value2, ...), (value1, value2 ...

  8. 【296天】我爱刷题系列055(2017.11.28)

    叨叨两句 今天真的是无比值得纪念的一天,半年跑步50次的目标正式完成. 一个人NB是寂寞的,一群人NB才是我喜欢的. 牛客网--java专项练习035 1 下面有关JDK中的包和他们的基本功能,描述错 ...

  9. 【284天】我爱刷题系列(43)

    叨叨两句 身体是灵魂的载体,灵魂是身体的指引,用心维护.驯化你的身体,构建通道,指引它将力量与情绪宣泄在你想做出成绩的领域,神奇的事情就会发生,哈哈. 牛客网--java专项练习023 1 @Supp ...

最新文章

  1. Java之Character类
  2. 重温6 ListView相关|单位dp/sp
  3. 【Qt开发】QT对话框去掉帮助和关闭按钮 拦截QT关闭窗口的CloseEvent
  4. 分享制作精良的知识管理系统 配置SQL Server文档数据库 完美实现博客文章的的下载,存储和浏览...
  5. java程序员_哪些书是不可错过的?Java程序员书单分享
  6. centos7安装gitlab_Docker常用镜像安装:MySql Redis GitLab maven私服等
  7. 越知道自己要什么,越知道自己是什么
  8. 手机sstv解码软件_关于二维码扫描使用专业扫描设备和手机二维码扫描软件的区别?...
  9. sql中exist()的用法
  10. Mac使用技巧:关闭系统自动更新
  11. 成功解决 ValueError: Shape of passed values is (3, 1), indices imply (3, 3)
  12. SpringMVCfrom:form表单标签和input表单标签简介
  13. Java千百问_05面向对象(003)_java中抽象概念如何体现的
  14. pytorch 画loss曲线_Python练习绘制损失曲线,Pytorch,Loss
  15. js内公切线切点的计算
  16. LIKE视频网站无法登录服务器,解析视频地址失败,更换服务器也不行
  17. 微信收货地址开发分享
  18. python柱形图绘制_Python数据分析:柱形图的绘制方法
  19. 世界三大顶级音响_世界音响三个顶尖品牌 世界顶级音响哪个品牌好
  20. 可爱得小工具-jvm

热门文章

  1. Freemarker和Spring开发:获取相对路劲和绝对路径的最优方式
  2. Loadrunner检查点使用总结
  3. 实习生笔试面试题总结
  4. android有用的知识
  5. 纯数学教程 Page 203 例XLI (1)
  6. 多核时代 .NET Framework 4 中的并行编程6---并行LINQ
  7. Apache Ignite剖析
  8. nginx lua redis 访问频率限制(转)
  9. linux添加到普通用户sudo才干
  10. 第一行代码读书笔记1+常见错误分析