第二章

第一节. 内连接| 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学习笔记(自用) 第二章相关推荐

  1. 机器学习理论《统计学习方法》学习笔记:第二章 感知机

    <统计学习方法>学习笔记:第二章 感知机 2 感知机 2.1 感知机模型 2.2 感知机学习策略 2.2.1 数据的线性可分性 2.2.2 感知机学习策略 2.3 感知机学习算法 2.3. ...

  2. 计算机网络学习笔记:第二章

    文章目录 计算机网络学习笔记:第二章 前言 2.1.应用层协议原理 2.1.1 网络应用程序体系结构 2.1.2 进程通信 2.1.3 可供应用程序使用的运输服务 2.1.4 因特网提供的传输层服务 ...

  3. 2021-08-31《内网安全攻防》学习笔记,第二章-域内信息收集(转自PowerLiu)

    <内网安全攻防>学习笔记,第二章-域内信息收集 2020-07-212020-07-21 15:08:47阅读 1.1K0 2.1 内网信息搜集概述 当渗透测试人员进入内网后,面对的是一片 ...

  4. Python快速编程入门#学习笔记03# |第二章 :Python基础(代码格式、标识符关键字、变量和数据类型、数字类型以及运算符)

    全文目录 ==先导知识== 学习目标: 2.1 代码格式 2.1.1 注释 2.1.2 缩进 2.1.3 语句换行 2.2 标识符和关键字 2.2.1 标识符 2.2.2 关键字 2.3 变量和数据类 ...

  5. (Java零基础学习笔记)第二章 Java中的基本语法

    前言: 大家好! 我是BA unravel .如果你想和我一起学习JAVA,欢迎大家一起来学习这个世界上最好的语言! 学习目标: 一周掌握 Java 入门知识 学习内容: 1. 搭建 Java 开发环 ...

  6. 【Go Web学习笔记】第二章 HTTP的客户端实现

    前言:大家好,以下所有内容都是我学习韩茹老师的教程时所整理的笔记.部分内容有过删改, 推荐大家去看原作者的文档进行学习, 本文章仅作为个人的学习笔记,后续还会在此基础上不断修改.学习Go Web时应该 ...

  7. 信息安全工程师学习笔记《第二章》

    第二章:网络攻击原理与常用方法 本章首先讲述网络攻击相关概念,总结网络攻击的技术特点.发展趋势和网络攻击的一般过程:然后系统的给出了网络攻击的常见技术方法和黑客常用工具:最后分析了分布式拒绝服务攻击. ...

  8. 《自然语言处理(哈工大 关毅 64集视频)》学习笔记:第二章 数学基础与语言学基础

    前言 关毅老师,现为哈工大计算机学院语言技术中心教授,博士生导师.通过认真学习了<自然语言处理(哈工大 关毅 64集视频)>1(来自互联网)的课程,受益良多,在此感谢关毅老师的辛勤工作!为 ...

  9. 爬虫学习笔记(第二章)requests模块

    文章目录 前言 第二章 request模块 简介 实战编码 ①爬取搜狗首页的页面数据 实战巩固 ②网页采集器 UA ③破解百度翻译 ④豆瓣电影爬取 ⑤肯德基餐厅位置爬取 ⑥药监总局相关数据爬取 前言 ...

  10. 沧小海基于xilinx srio核的学习笔记之第二章 Rapidio技术概述

    总的目录在这哦~ https://blog.csdn.net/z123canghai/article/details/114648658 目录 第二章 Rapidio技术概述 2.1 总体原则 2.2 ...

最新文章

  1. Silverlight学习笔记之文字特效之ImageBrush
  2. 吴恩达 coursera AI 第二课总结+作业答案
  3. Nginx模块之SessionSticky
  4. Node --- EventProxy的原理
  5. python常用命令格式_python常用命令有哪些
  6. linux的日志系统,Linux上的日志系统
  7. 结束SpringMVC
  8. 重写 geturl Openlayers中使用TileCache加载预切割图片作为基础地图图层
  9. 一种解决各种 macos unlocker 无法下载 Darwin.iso 的方法
  10. 设计模式 - 抽象工厂模式案例
  11. 用聚宽量化炒股-5获取数据函数-8)获取概念成分股代码函数get_concept_stocks、查询股票所属概念板块函数get_concept()
  12. 【毕业设计】基于Stm32的人体心率脉搏无线监测系统 - 单片机 物联网
  13. qps tps rps 区别
  14. 基于单片机门电路测试
  15. Cobbler实现系统自动安装和cobbler的web管理实现
  16. 在控制台,打印出某个具体的变量,并监听其变化
  17. 【论文翻译】联合学习对齐和翻译的神经机器翻译
  18. c++中bitset的用法总结
  19. C语言:到底是不是太胖了
  20. 互联网时代带给我们什么好处

热门文章

  1. Python pip下载的whl文件到哪里了?如何找到并使用这些whl文件?(whl离线安装包的制作过程示例)
  2. 跟奥巴马一起编程(15)
  3. js判断H5页面是否是在QQ\UC浏览器中打开
  4. Qt发布exe软件及修改exe应用程序图标
  5. ReSharper:著名的VS代码生成工具
  6. Android eclipse实现创建水果表并添加信息,将其以ListView控件显示
  7. 【湍流】基于matlab模拟拉盖尔高斯光束传播的光强
  8. 编解码器的世界 - 从字幕组说起
  9. 开发人员必知的5个CI/CD工具
  10. 笔试强训选择题day11,12