多表查询内连接以及外连接
多表查询-内连接
分为两种查询方式:
1.隐式内连接:使用where条件消除无用的数据
咧如:
SELECT -- 查询员工表的名称,性别,部门表的名称 t1.`NAME`,-- 查询员工名称 t1.gender,-- 查询员工性别 t2.`NAME`-- 查询部门表名称 FROM emp1 t1,-- 给员工表起别名 dept t2-- 给部门表起别名 WHERE t1.dept_id = t2.id;-- 员工表的dept_id = 部门表的id
2.显示内连接
语法:select字段列表 from 表名1 [inner] join 表名2 on 条件;
咧如:
-- 显示内连接查询 SELECT * -- 全部的意思 FROM emp1 -- 表名1 JOIN -- 显示内连接查询关键字 dept -- 表名2 ON emp1.dept_id = dept.id; -- 员工dept.id = 部门的id
3.内连接查询:(思维逻辑)
1.从哪些表中查询数据
2.条件是什么
3.查询哪些字段
多表查询-外连接
分为两种查询:
1.左外连接
语法:select 字段列表 from 表1 left [outer] join 表2 on 条件;
作用:查询的是左表所有数据以及其交集部分
-- 左外连接-- 查询所有员工信息,如果员工有部门则显示部门信息,没有部门则显示null SELECT t1.*,t2.`NAME`-- 查询员工的所有信息 以及 部门表名称 FROM emp1 t1 -- 表1 LEFT JOIN dept t2 -- 表2 ON t1.dept_id = t2.id; -- 相等
2.右外连接
语法:select 字段列表 from 表1 right [outer] join 表2 on 条件;
作用:查询的是右表所有数据以及其交集部分
-- 右外连接(主查右边的表) SELECT t1.*,t2.`NAME` FROM emp1 t1 RIGHT JOIN dept t2 ON t1.dept_id=t2.id;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)