3.多表查询
(1)内连接 (INNER)JOIN
- 目的:1.合并一个数据库中的两个表格
用法:SELECT
FROM 表格1
JOIN 表格2 ON 条件(表格1的某一列=表格2的某一列)
【SELECT中如果是两个表的同一列,要写明是哪个表】
【表格名字经常出现的话 可以给其取个别名 直接跟在表格名后面即可】
- 目的:2. 将分散在多个数据库的表中的列合并起来
用法:SELECT
FROM 表格1
JOIN 表格2 ON 条件(表格1的某一列=表格2的某一列)
【需要给不在当前数据库的表加前缀】
- 目的:3. 将同一表格的数据连接起来【同一个数据但是列名不同】
用法:SELECT
FROM 表格1 (别名1)
JOIN 表格1 (别名2)ON 条件(列1=列2)
【每一列名前得加上所在表格的名】
- 目的:4.连接多张表
用法:SELECT
FROM 表格1
JOIN 表格2 ON 条件(表格1的某一列=表格2的某一列)
JOIN 表格3 ON 条件(表格1/2的某一列=表格3的某一列)
【每一列名前得加上所在表格的名】
- 目的:5.连接带有复合主键的表【复合连接条件,使用多个条件连接两个表】
#需要用两个列的数据来确定一个唯一的item
用法:SELECT
FROM 表格1
JOIN 表格2 ON 条件1(表格1的某一列=表格2的某一列)
AND 条件2(表格1的某一列=表格2的某一列)
练习1:将order_items表和products表相连接,并且返回产品id、名字、数量和单价
SELECT oi.product_id,name,quantity,oi.u