一次mysql多表查询(left jion)优化案例 在新上线的供需模块中,发现某一个查询按钮点击后,出不来结果,找到该按钮对应sql手动执行,发现需要20 30秒才能出结果,所以服务端程序判断超时,故先不显示结果 以下是对这条查询的优化记录 1 数据库配置 数据库配置:4C8G 主表数据:3W+ ...
分类:
数据库 时间:
2020-04-14 01:15:35
阅读次数:
225
题目 1、查询所有的课程的名称以及对应的任课老师姓名 2、查询学生表中男女生各有多少人 3、查询物理成绩等于100的学生的姓名 4、查询平均成绩大于八十分的同学的姓名和平均成绩 5、查询所有学生的学号,姓名,选课数,总成绩 6、 查询姓李老师的个数 7、 查询没有报李平老师课的学生姓名 8、 查询物 ...
分类:
数据库 时间:
2020-04-02 11:43:24
阅读次数:
91
## 多表查询: * 查询语法: select 列名列表 from 表名列表 where.... * 准备sql # 创建部门表 CREATE TABLE dept( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) ); INSERT INTO ...
分类:
数据库 时间:
2020-03-24 16:03:34
阅读次数:
100
一、笛卡尔积现象 多表查询时,两张表的数据量发生错误,总数据为表1*表2的数据,显然不是我们想要的,这是笛卡尔积现象。 二、如何清除笛卡尔积现象 多表查询的时候,通过条件过滤掉不需要的数据。条件:外键=主键。 三、内连接 什么是内连接 多表查询时,只要满足条件的数据 隐式内连接 隐式内连接:看不到J ...
分类:
数据库 时间:
2020-03-19 13:50:21
阅读次数:
75
union 结果集合并 使用多个select分别查询不同的表,把多个select查到的记录合并在一起 一个select查到m条记录,另一个select查到n条记录,合并之后就是m+n条记录 #查询全校师生的id、name,使用2个select分别从tb_teacher、tb_student中查,然后 ...
分类:
数据库 时间:
2020-03-08 09:36:47
阅读次数:
70
多表查询: 内连接查询: 首先:创建两个表一个为tableA,一个为tableB,并且插入数据(代码省略) 同时查询两个表的记录: select * from tableA,tableB; 根据tableA中id 等于 tableB 中refer_id 进行内连接查询: select * from ...
分类:
数据库 时间:
2020-02-20 17:17:00
阅读次数:
83
多表查询的分类 内连接 隐式内连接 显式内连接 外连接 左外连接 右外连接 内连接 用左边表的记录去匹配右边表的记录,如果符合条件的则显示。如:从表.外键=主表.主键 隐式内连接 隐式内连接:看不到 JOIN 关键字,条件使用 WHERE 指定 SELECT 字段名 FROM 左表, 右表 WHER ...
分类:
数据库 时间:
2020-02-16 00:56:26
阅读次数:
88
##多表之间的关系 1、一对一(了解) * 如:人和身份证 * 分析:一个人只有一个身份证,一个身份证只能对应一个人。 2、一对多(多对一) * 如:部门和员工 * 分析:一个部门有多个员工,一个员工只能对应一个部门。 3、多对多 * 如:学生和课程 * 分析:一个学生可以选择很多们课程,一门课程也 ...
分类:
数据库 时间:
2020-02-08 09:38:23
阅读次数:
81
mysql多表查询 建表与数据准备 多表连接查询 1 交叉连接:不适用任何匹配条件。生成笛卡尔积 2 内连接:只连接匹配的 3 外链接之左连接:优先显示左表全部记录 4 外链接之右连接:优先显示右表全部记录 5 全外连接:显示左右两个表全部记录 6 符合条件连接查询 子查询 2 带比较运算符的子查询 ...
分类:
数据库 时间:
2020-01-28 23:09:04
阅读次数:
80
子查询: 子查询是将一个查询语句嵌套在另外一个查询语句中,内层查询语句的查询结果,可以作为外来层查询语句提供查询条件。因此在特定条件下,一个查询语句的条件,需要另外一个查询语句来获取。 前期准备表: create table employee ( num int(50), d_id int(50), ...
分类:
数据库 时间:
2019-12-24 20:54:44
阅读次数:
76