Udemy - The Ultimate MySQL Bootcamp:
Go from SQL Beginner to Expert
分享的大部分数据来源于课程,总结为本人原创
包含视频/约24分钟
撰文/Iris帆
Joins相关关键词大集合:JOIN、INNER JOIN、LEFT JOIN、RIGHT JOIN DELETE CASCADE:创建表格时对FOREIGN KEY的一种自选规定
视频讲解
下面为视频中使用到的代码:
SELECT * FROM customers;SELECT * FROM orders;-- 一共5名顾客,有的顾客有好几单购买记录,有的顾客一单购买记录也没有-- 1名顾客对应>=0次购买记录-- -- 检索/查找名为George的顾客的订单 -- --SELECT id FROM customers WHERE last_name='George';SELECT * FROM orders WHERE customer_id = 1;SELECT * FROM orders WHERE customer_id =(SELECT id FROM customersWHERE last_name='George');-- -- -- JIONS -- -- ---- 加入,结合-- 一一对应关系,对号入座-- https://dataschool.com/how-to-teach-people-sql/left-right-join-animated/-- -- 跨越式 JOIN -- ---- 直接将两个表格一起SELECTSELECT * FROM customers, orders;-- -- INNER JOIN -- ---- SELECT两个表中具有匹配值的记录-- 隐式 INNER JOINSELECT * FROM customers, ordersWHERE customers.id = orders.customer_id;-- 隐式 INNER JOINSELECT first_name, last_name, order_date, amountFROM customers, ordersWHERE customers.id = orders.customer_id;-- 显式 INNER JOINSSELECT * FROM customersINNER JOIN ordersON customers.id = orders.customer_id;SELECT first_name, last_name, order_date, amountFROM customersJOIN ordersON customers.id = orders.customer_id;SELECT *FROM ordersJOIN customersON customers.id = orders.customer_id;SELECTfirst_name,last_name,SUM(amount) AS total_spentFROM customersJOIN ordersON customers.id = orders.customer_idGROUP BY orders.customer_idORDER BY total_spent DESC;-- 综合运用:以orders表格中的customer_id为分类依据,计算各不同customer_id所订购商品总额-- LEFT JOIN和RIGHT JOINSELECT * FROM customersLEFT JOIN ordersON customers.id = orders.customer_id;SELECTfirst_name,last_name,IFNULL(SUM(amount), 0) AS total_spentFROM customersLEFT JOIN ordersON customers.id = orders.customer_idGROUP BY customers.idORDER BY total_spent;SELECT * FROM customersRIGHT JOIN ordersON customers.id = orders.customer_id;-- -- DELETE CASCADE -- ---- 连锁性删除CREATE TABLE orders(id INT AUTO_INCREMENT PRIMARY KEY,order_date DATE,amount DECIMAL(8,2),customer_id INT,FOREIGN KEY(customer_id)REFERENCES customers(id)ON DELETE CASCADE);DELETE FROM customers WHERE id = 2;

文章转载自学之初 学之时,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




