java基础知识——mysql多表查询

69 阅读1分钟

笛卡尔积

AB集合所有组合情况

多表查询

image.png

连接查询

内连接

相当于查询AB交集数据
内连接语法:

-- 隐式内连接
SELECT 字段列表 FROM1,表2... WHERE 条件

--显示内连接
SELECT 字段列表 FROM1 [INNER] JOIN2 ON 条件

外连接

  • 左外连接:相当于查询A表所有数据和交集部分数据
  • 右外连接:相当于查询B表数据数据和交集部分数据
外连接查询语法

--左外连接
SELECT 字段列表 FROM1 LEFT [OUTER] JOIN2 ON 条件

--右外间接
SELECT 字段列表 FROM1 RIGHT [OUTER] JOIN2 ON 条件

嵌套查询【子查询】

1.子查询概念
查询中嵌套查询,称 嵌套查询为子查询
2.子查询根据查询结果不同,作用不同
- 单行单列:子查询结果是单个数据(一行一列)
- 多行单列:子查询结果是列表(多行数据且为一列)
- 多行多列:子查询结果是列表(多行数据且多列)
--单行单列: 作为条件值,使用 = != > < 等进行条件判断
SELECT 字段列表 FROMWHERE 字段名 = (子查询)

--多行单列:作为条件值,使用in等关键字进行条件判断
SELECT 字段列表 FROMWHERE 字段名 IN (子查询)

--多行多列:作为虚拟表
SELECT 字段列表 FROM 子查询 WHERE 条件