[Day14]资料表合并实做

在Day5的时候,主要介绍了SELECT语句,在当中也有提及多种资料表合并的语法,这篇文会列出一些简单的实作例题。

  1. 在OE帐户的orders和order_items资料表中,输入SQL命令查询订购总价(单价*数量)>50000的订单编号和订购产品代码与总价。
SELECT order_id, product_id, unit_price*quantity"Total Price"
FROM order_items
NATURAL JOIN orders
WHERE unit_price*quantity>50000;

https://ithelp.ithome.com.tw/upload/images/20210929/20140915hDqnbA14V9.png

  1. 合并两个资料表。在HR帐户中查询员工编号、姓氏和任职部门名称。
SELECT e.employee_id, e.last_name, department_id, d.department_name
FROM employees e
JOIN departments d USING(department_id);

https://ithelp.ithome.com.tw/upload/images/20210929/20140915xQxsZSYJ5z.png

  1. 在OE帐户的orders和order_items资料表中,评估下列SQL语句,并修正错误。
SELECT oi.order_id, product_id, order_date
FROM order_items oi
JOIN order o USING(order_id);

正确:

SELECT order_id, product_id, order_date
FROM order_items oi
JOIN orders o USING(order_id);

https://ithelp.ithome.com.tw/upload/images/20210929/20140915uWJ7oJPCWa.png
原因:输入USING子句使用到的栏位时,栏位前不可加限定识别字。

  1. 在OE帐户的orders和order_items资料表中,查询2008年後(包括当年)的订单号码、订购日期、产品代号和单价、订购量以及订购总金额(单价*订购量)。
SELECT o.order_id, o.order_date, oi.product_id, oi.unit_price, oi.quantity, oi.unit_price*oi.quantity"TOTAL"
FROM order_items oi JOIN orders o
ON(o.order_id=oi.order_id) AND o.order_date>='01-01月-2008';
  1. 在HR的employees资料表中,查询并显示员工及其主管的姓名
SELECT e.first_name||''||e.last_name"员工", m.first_name||''||
m.last_name"主管"
FROM employees e JOIN employees m
ON(e.manager_id=m.employee_id);

https://ithelp.ithome.com.tw/upload/images/20210929/20140915prPNGN2RqQ.png

  1. 在HR帐户的employees和department资料表中,查询并显示全公司员工的姓氏、任职部门代码。还没有部门的员工也显示在栏位上。
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
LEFT OUTER JOIN departments d
ON e.department_id=d.department_id;

https://ithelp.ithome.com.tw/upload/images/20210929/20140915AyKy9PT56D.png


<<:  Day15:今天我们来聊一下使用Parrot Security的 Armitage来取得远端系统的存取(Gain Access)权

>>:  [第十五天]从0开始的UnityAR手机游戏开发-如何切换场景01

媒体分析为公司带来的5项好处及4个常见使用情境

近几年,媒体产业当中,以及社群软件的应用,使得影片、声音和图像这些不同形式的内容正飞速的增长。不管是...

DAY4.看了两个YT的影片

今天到嘉义开店 从高雄坐火车到嘉义 在坐火车的一个小时 把外国教python flask的影片看完 ...

Day 29 Realm的练习-使用者注册系统(3/3)

今天我们把tableView做更新 func updateData(){ users = [] le...

Day 3:建立专案(一)

软件专案通常由许多程序码档案以及资源档组成,C++ 专案透过编译、连结产生各平台的可执行档。多数专案...

[第19天]理财达人Mx. Ada-Telegram Bot

前言 本文说明使用Python建立Telegram Bot 。 注册 telegram帐号 找 @B...