MYSQL学习笔记(自用) 第二章
第二章
第一节. 内连接| Inner joins[在多张表格中检索数据]
SELECT order_id, orders.customer_id, first_name, last_name
FROM orders
INNER JOIN customers ON orders.customer_id = customers.customer_id SELECT order_id, o.customer_id, first_name, last_name
FROM orders o
INNER JOIN customers cON o.customer_id = c.customer_id
## 让代码更简洁
第一节. 作业练习
SELECT order_id, p.product_id, quantity, oi.unit_price
FROM order_items oi
INNER JOIN products pON oi.product_id = p.product_id
第二节. 跨数据库连接| Joining Across Databases
SELECT *
FROM order_items oi
JOIN sql_inventory.products pON oi.product_id = p.product_id
第三节. 自链接| Self Joins
USE sql_hr;SELECT e.employee_id,e.first_name,m.first_name AS manager
FROM employees e
JOIN employees mON e.reports_to = m.employee_id
第四节. 多表连接| Joinning Multiple Tables
USE sql_store;SELECT o.order_id,o.order_date,c.first_name,c.last_name,os.name AS status
FROM orders o
JOIN customers cON o.customer_id = c.customer_id
JOIN order_statuses osON o.status = os.order_status_id
第二章 第一~四节. 作业练习
USE sql_invoicing;Select p.payment_id,p.client_id,c.name,c.address,c.city,pm.name AS payment_method
FROM payments p
JOIN clients c
ON p.client_id = c.client_id
JOIN payment_methods pm
ON p.payment_method = pm.payment_method_id
第五节. 复合连接条件| Compound Join Conditions
USE sql_store;SELECT*
FROM order_items oi
JOIN order_item_notes oinON oi.order_id = oin.order_idAND oi.product_id = oin.product_id
第六节. 隐式连接语法| Implict Join Syntax
USE sql_store;SELECT *
FROM orders o
JOIN customers cON o.customer_id = c.customer_id## Implpicit Join Syntax
SELECT*
FROM orders o, customers c
WHERE o.customer_id = c.customer_id
第七节. 外连接| Outer Joins
SELECT c.customer_id,c.first_name,o.order_id
FROM customers c
RIGHT JOIN orders oON c.customer_id = o.customer_idORDER BY c.customer_id
## 当使用LEFT JOIN, 左表的所有数据都会被返回
## 当使用RIGHT JOIN, 右表的所有数据都会被返回
## 此例中,LEFT JOIN将返回customers表中所有数据,RIGHT JOIN将返回orders表中所有数据
第七节. 作业练习
SELECTp.product_id,p.name,oi.quantity
FROM products p
LEFT JOIN order_items oiON p.product_id = oi.product_id
第八节. 多表外连接|Outer Join Between Multiple Tables
SELECT c.customer_id,c.first_name,o.order_id,sh.name AS shipper
FROM customers c
LEFT JOIN orders oON c.customer_id = o.customer_id
LEFT JOIN shippers shON o.shipper_id = sh.shipper_id
ORDER BY c.customer_id
第八节. 作业练习
SELECTo.order_date,o.order_id,c.first_name,sh.name AS shipper,os.name AS status
FROM orders o
LEFT JOIN customers cON o.customer_id = c.customer_id
LEFT JOIN shippers shON o.shipper_id = sh.shipper_id
LEFT JOIN order_statuses osON o.status = os.order_status_id
第九节. 自外连接| Self Outer Joins
USE sql_hr;SELECT e.employee_id,e.first_name,m.first_name AS manager
FROM employees e
LEFT JOIN employees mON e.reports_to = m.employee_id
第十节. USING子句|The USING Clause
USE sql_store;SELECTo.order_id,c.first_name,sh.name AS shipper
FROM orders o
JOIN customers c-- ON o.customer_id = c.customer_idUSING (customer_id)
LEFT JOIN shippers shUSING (shipper_id)SELECT *
FROM order_items oi
JOIN order_item_notes oinUSING (order_id, product_id)
第十节. 作业练习
USE sql_invoicing;Select i.invoice_date AS date,c.name,p.amount,pm.name
FROM invoices i
JOIN clients cUSING (client_id)
JOIN payments pUSING (invoice_id)
JOIN payment_methods pmON p.payment_method = pm.payment_method_id
第十一节. 自然连接| Natural Joins
##不建议使用
USE sql_store;SELECT o.order_id,c.first_name
FROM orders o
NATURAL JOIN customers c
第十二节. 交叉连接| Cross Joins
SELECTc.first_name,p.name AS product
FROM customers c
CROSS JOIN products p
## 可以尝试使用场景:当有不同SIZE的衣服,以及不同颜色的衣服,想要找到所有SIZE和颜色组合可以使用CROSS JOIN
第十三节. 联合|Unions
SELECT order_id,order_Date,'Active' AS status
FROM orders
WHERE order_Date >= '2019-01-01'
UNION
SELECT order_id,order_Date,'Archived' AS status
FROM orders
WHERE order_Date < '2019-01-01'
第十三节. 作业练习
SELECTcustomer_id,first_name,points,'Bronze' AS type
FROM customers
WHERE points < 2000
UNION
SELECTcustomer_id,first_name,points,'SILVER' AS type
FROM customers
WHERE points > 2000 AND points <3000
UNION
SELECTcustomer_id,first_name,points,'GOLD' AS type
FROM customers
WHERE points > 3000
MYSQL学习笔记(自用) 第二章相关推荐
- 机器学习理论《统计学习方法》学习笔记:第二章 感知机
<统计学习方法>学习笔记:第二章 感知机 2 感知机 2.1 感知机模型 2.2 感知机学习策略 2.2.1 数据的线性可分性 2.2.2 感知机学习策略 2.3 感知机学习算法 2.3. ...
- 计算机网络学习笔记:第二章
文章目录 计算机网络学习笔记:第二章 前言 2.1.应用层协议原理 2.1.1 网络应用程序体系结构 2.1.2 进程通信 2.1.3 可供应用程序使用的运输服务 2.1.4 因特网提供的传输层服务 ...
- 2021-08-31《内网安全攻防》学习笔记,第二章-域内信息收集(转自PowerLiu)
<内网安全攻防>学习笔记,第二章-域内信息收集 2020-07-212020-07-21 15:08:47阅读 1.1K0 2.1 内网信息搜集概述 当渗透测试人员进入内网后,面对的是一片 ...
- Python快速编程入门#学习笔记03# |第二章 :Python基础(代码格式、标识符关键字、变量和数据类型、数字类型以及运算符)
全文目录 ==先导知识== 学习目标: 2.1 代码格式 2.1.1 注释 2.1.2 缩进 2.1.3 语句换行 2.2 标识符和关键字 2.2.1 标识符 2.2.2 关键字 2.3 变量和数据类 ...
- (Java零基础学习笔记)第二章 Java中的基本语法
前言: 大家好! 我是BA unravel .如果你想和我一起学习JAVA,欢迎大家一起来学习这个世界上最好的语言! 学习目标: 一周掌握 Java 入门知识 学习内容: 1. 搭建 Java 开发环 ...
- 【Go Web学习笔记】第二章 HTTP的客户端实现
前言:大家好,以下所有内容都是我学习韩茹老师的教程时所整理的笔记.部分内容有过删改, 推荐大家去看原作者的文档进行学习, 本文章仅作为个人的学习笔记,后续还会在此基础上不断修改.学习Go Web时应该 ...
- 信息安全工程师学习笔记《第二章》
第二章:网络攻击原理与常用方法 本章首先讲述网络攻击相关概念,总结网络攻击的技术特点.发展趋势和网络攻击的一般过程:然后系统的给出了网络攻击的常见技术方法和黑客常用工具:最后分析了分布式拒绝服务攻击. ...
- 《自然语言处理(哈工大 关毅 64集视频)》学习笔记:第二章 数学基础与语言学基础
前言 关毅老师,现为哈工大计算机学院语言技术中心教授,博士生导师.通过认真学习了<自然语言处理(哈工大 关毅 64集视频)>1(来自互联网)的课程,受益良多,在此感谢关毅老师的辛勤工作!为 ...
- 爬虫学习笔记(第二章)requests模块
文章目录 前言 第二章 request模块 简介 实战编码 ①爬取搜狗首页的页面数据 实战巩固 ②网页采集器 UA ③破解百度翻译 ④豆瓣电影爬取 ⑤肯德基餐厅位置爬取 ⑥药监总局相关数据爬取 前言 ...
- 沧小海基于xilinx srio核的学习笔记之第二章 Rapidio技术概述
总的目录在这哦~ https://blog.csdn.net/z123canghai/article/details/114648658 目录 第二章 Rapidio技术概述 2.1 总体原则 2.2 ...
最新文章
- Silverlight学习笔记之文字特效之ImageBrush
- 吴恩达 coursera AI 第二课总结+作业答案
- Nginx模块之SessionSticky
- Node --- EventProxy的原理
- python常用命令格式_python常用命令有哪些
- linux的日志系统,Linux上的日志系统
- 结束SpringMVC
- 重写 geturl Openlayers中使用TileCache加载预切割图片作为基础地图图层
- 一种解决各种 macos unlocker 无法下载 Darwin.iso 的方法
- 设计模式 - 抽象工厂模式案例
- 用聚宽量化炒股-5获取数据函数-8)获取概念成分股代码函数get_concept_stocks、查询股票所属概念板块函数get_concept()
- 【毕业设计】基于Stm32的人体心率脉搏无线监测系统 - 单片机 物联网
- qps tps rps 区别
- 基于单片机门电路测试
- Cobbler实现系统自动安装和cobbler的web管理实现
- 在控制台,打印出某个具体的变量,并监听其变化
- 【论文翻译】联合学习对齐和翻译的神经机器翻译
- c++中bitset的用法总结
- C语言:到底是不是太胖了
- 互联网时代带给我们什么好处