sql 183. 从不订购的客户
某网站包含两个表,Customers
表和 Orders
表。编写一个 SQL 查询,找出所有从不订购任何东西的客户。
Customers
表:
+----+-------+ | Id | Name | +----+-------+ | 1 | Joe | | 2 | Henry | | 3 | Sam | | 4 | Max | +----+-------+
Orders
表:
+----+------------+ | Id | CustomerId | +----+------------+ | 1 | 3 | | 2 | 1 | +----+------------+
例如给定上述表格,你的查询应返回:
+-----------+ | Customers | +-----------+ | Henry | | Max | +-----------+
select customers.name as Customers from customers left join orders on customers.id=orders.customerid where orders.customerid is null
这个sql用了左连接 和 is null语法。
左连接的这种用法学习到了。如果右边的表没有满足on 后条件的值就会为null
下面贴一个左连接执行顺序的讲解
执行顺序:先执行on and条件,再执行where条件
具体是:首先根据on and条件过滤出满足条件的右侧表记录,然后根据关联字段,左侧表再与过滤出的右侧表记录进行连接,
满足关联字段相等,则返回左侧表和右侧表字段信息;若不满足,则返回左侧表字段信息,右侧表字段则显示NULL。
连接出的结果则存入临时表中。最后where条件是对临时表中的数据进行过滤。
左连接:Left join,以左侧表为主,不管on条件是否满足条件,左侧表的所有记录都会返回。
换句说:on and后面的条件对左侧表没有过滤作用,即使加上对左侧表的过滤,也不起作用。
on后面的条件对右侧表的过滤起作用。where条件则对左连接后的临时表数据进行筛选。
以例子说明:
select * from A left join B
on A.ID = B.ID and B.NAME = '连接' and A.NAME = ‘左连接’
where NAME = '左连接'
on and后面的条件:B.NAME对B表有过滤作用,A.NAME对A表不起过滤作用
where后面的条件:则是对左连接出的临时表数据进行过滤
转载于:https://www.cnblogs.com/wangshaowei/p/11074665.html
sql 183. 从不订购的客户相关推荐
- 「力扣数据库」183. 从不订购的客户(第五天)
183. 从不订购的客户 题目 解题 题目 题目难度:简单 某网站包含两个表,Customers 表和 Orders 表.编写一个 SQL 查询,找出所有从不订购任何东西的客户. Id Name 1 ...
- 182. 查找重复的电子邮箱 183. 从不订购的客户
文章目录 一.182. 查找重复的电子邮箱 二.解决方法 1.GROUP BY+HAVING 2.GROUP BY+子查询 三.183. 从不订购的客户 一.182. 查找重复的电子邮箱 编写一个 S ...
- [SQL]LeetCode183. 从不订购的客户 | Customers Who Never Order
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...
- 文巾解题 183. 从不订购的客户
1 题目描述 2 解题思路 子查询找订了东西的用户 SELECT Name AS Customers FROM Customers WHERE ID NOT IN(SELECT CustomerIdF ...
- 【LeetCode-SQL每日一题】——183. 从不订购的客户
- 2022-12-01:从不订购的客户。找出所有从不订购任何东西的客户,以下数据的答案输出是Henry和Max,sql语句如何写? DROP TABLE IF EXISTS `customers`; C
2022-12-01:从不订购的客户.找出所有从不订购任何东西的客户,以下数据的答案输出是Henry和Max,sql语句如何写? DROP TABLE IF EXISTS `customers`; C ...
- leetcode183. 从不订购的客户(SQL)
某网站包含两个表,Customers 表和 Orders 表.编写一个 SQL 查询,找出所有从不订购任何东西的客户. Customers 表: +----+-------+ | Id | Name ...
- LeetCode(183)—— 从不订购的客户(MySQL)
某网站包含两个表,Customers 表和 Orders 表.编写一个 SQL 查询,找出所有从不订购任何东西的客户. Customers 表: Id Name 1 Joe 2 Henry 3 Sam ...
- LeetCode-183. 从不订购的客户( Customers Who Never Order)。
某网站包含两个表,Customers 表和 Orders 表.编写一个 SQL 查询,找出所有从不订购任何东西的客户. Customers 表: +----+-------+ | Id | Name ...
- 数据库题目 - 从不订购的客户
文章目录 1. 题目描述 2.解答 1. 题目描述 某网站包含两个表,Customers 表和 Orders 表.编写一个 SQL 查询,找出所有从不订购任何东西的客户. Customers 表: ± ...
最新文章
- 2019北京高考分数分布一览表(成绩分布统计)
- ORACLE创建用户,建表空间,授予权限
- 【渝粤题库】国家开放大学2021春1373特殊教育概论题目
- Cortex-M0(5)---Cortex-M0【中断向量表】【中断控制和系统控制
- c#中用声音提示报警
- c语言作业及参考答案,C语言试题及答案
- maven项目中操作mysql数据库案例
- 华为交换机配置时区_把华为交换机设置成时钟源服务器(NTP)
- Cocos2d-X开发中国象棋《八》走棋
- Dreamweaver网页设计与制作100例:用DIV+CSS技术设计的书法主题网站(web前端网页制作课作业)...
- linux ftp下载geo,GEO数据下载及处理详细过程
- Addon SuperEdge 让原生 K8s 集群可管理边缘应用和节点
- 点击按钮变灰并开始倒计时60秒
- 图表点编辑数据无反应_解决word2013中插入图表之后无法保存和无法调出图表的编辑数据问题...
- 微信录音arm格式转换为mp3(亲测解决 Java linux centos 环境)
- 交换机基础命令(理解交换机基本工作原理)
- [论文笔记] 大型车牌检测数据集CCPD 阅读笔记
- 如何安装和使用A-ops工具?
- 如何从零设计一种物联网组网协议
- C#静默打印 PDF
热门文章
- 电子书下载:[FBI教你破解身体语言].(美)乔·纳瓦罗.(美)马文·卡尔林斯.文字版...
- linux学习(3)——vim文本编辑工具
- SSL协议之数据加密过程详解
- CF 71C. Round Table Knights
- 牛腩购物网25:购物车的实现
- spring3.1.0 jar包详解说明
- db.serverStatus()
- php使用RabbitMQ
- 数据可视化:CSV格式,JSON格式
- Python cannot import name 'Line' from 'pyecharts'