当前位置: 首页 > news >正文

MySQL4 多表查询 内连接

内连接

    • 多表查询
      • 内连接

多表查询

数据准备

CREATE DATABASE  db4;
USE db4;
-- 创建部门表
create table if not exists dept(deptno varchar(20) primary key ,  -- 部门号name varchar(20) -- 部门名字
);-- 创建员工表
create table if not exists emp(eid varchar(20) primary key , -- 员工编号ename varchar(20), -- 员工名字age int,  -- 员工年龄dept_id varchar(20)  -- 员工所属部门
);-- 给dept表添加数据
insert into dept values('1001','研发部');
insert into dept values('1002','销售部');
insert into dept values('1003','财务部');
insert into dept values('1004','人事部');-- 给emp表添加数据
insert into emp values('1','乔峰',20, '1001');
insert into emp values('2','段誉',21, '1001');
insert into emp values('3','虚竹',23, '1001');
insert into emp values('4','阿紫',18, '1001');
insert into emp values('5','扫地僧',85, '1002');
insert into emp values('6','李秋水',33, '1002');
insert into emp values('7','鸠摩智',50, '1002'); 
insert into emp values('8','天山童姥',60, '1003');
insert into emp values('9','慕容博',58, '1003');
--注意,此处部门表中没有存在1005对应的部门,当然部门1004在此出没有员工,
--只是为了演示效果
insert into emp values('10','丁春秋',71, '1005');SELECT * FROM emp;
SELECT * FROM dept;

一对一 一般需要表合并
一对多
多对多 需要从表

内连接

在这里插入图片描述
在这里插入图片描述

笛卡尔积

-- 笛卡尔积 A表m条,B表n条,查询结果为m*n条 
SELECT *
FROM emp,dept;

隐藏内连接

-- 隐式内连接(SQL92标准)
-- SELECT 字段列表 FROM1,2... WHERE 条件;
-- 隐式内连接
SELECT *
FROM emp,dept
WHERE dept.deptno=emp.dept_id;

显式内连接

-- 显式内连接(SQL99标准) []包括的可以省略不写
-- SELECT 字段列表 FROM1 [INNER] JOIN2 ON 条件;
-- 显式内连接
SELECT *
FROM emp INNER join dept
ON dept.deptno=emp.dept_id;

内连接应用:

-- 查询在研发部的员工信息
SELECT *
FROM emp,dept
WHERE dept.deptno=emp.dept_id AND dept.NAME='研发部';SELECT *
FROM emp INNER join dept
ON dept.deptno=emp.dept_id AND dept.NAME='研发部';-- 查询每个部门的员工数,并升序
SELECT NAME,COUNT(*) AS con
FROM emp,dept
WHERE emp.dept_id=dept.deptno
GROUP BY deptno,NAME
ORDER BY con;-- 查询人数大于3的部门,并按照人数进行降序
SELECT NAME,COUNT(*) AS con
FROM emp,dept
WHERE emp.dept_id=dept.deptno
GROUP BY deptno,NAME
HAVING con>=3
ORDER BY con DESC;
http://www.lryc.cn/news/424008.html

相关文章:

  • 力扣45:跳跃游戏2题解
  • 产品经理-产品被同行抄袭如何处理(32)
  • LDR6020在Type-C手机同时充电与USB2.0数据传输方案
  • Python学习笔记(七)
  • mysql中log
  • iOS Object-C 创建类别(Category) 与使用
  • Rocky系统部署k8s1.28.2单节点集群(Containerd)+Kuboard
  • Springboot整合Flowable入门-学习笔记
  • C语言常见的题目
  • Android13适配记录
  • Android TV上OTT PWA应用开发的播放器选择:video.js vs exoplayer
  • 24.8.14 《CLR via C#》 笔记12
  • P2801 教主的魔法
  • Go 语言channel的应用场景及使用技巧
  • QLabel设置图像的方法+绘制文本换行显示
  • LVS原理及相关配置
  • webrtc一对一视频通话功能实现
  • 通道(channel)传递数据的例子写一个
  • Vue3+Echarts+饼图环形图
  • Python while编程题目|AI悦创Python一对一教学辅导
  • C语言 | Leetcode C语言题解之第324题摆动排序II
  • Docker③_VMware虚拟机和Docker的备份与恢复
  • 【EMC专题】ESD抑制器简要介绍
  • 贷齐乐系统最新版SQL注入(绕过WAF可union select跨表查询)
  • 『大模型笔记』虚拟机(Virtual Machine,VM)与Docker对比!
  • 基于SpringBoot+Vue框架的租车管理系统
  • HAProxy基本配置及参数实操
  • go-zero中间件的使用
  • 六、ESP32-S3上使用MicroPython点亮WS2812智能LED灯珠并通过web控制改变灯珠颜色优化超时和线程
  • (el-Time-Picker)操作(不使用 ts):Element-plus 中 TimePicker 组件的使用及输出想要时间格式需求的解决过程