【MySQL】多表查询的分类1:等值连接和非等值连接
2023-09-11 14:19:28 时间
多表查询的分类1:等值连接VS非等值连接
1. 等值连接
等值连接指的是,多表查询语句中的连接条件使用的是等号。例如:
SELECT employee_id, department_name
FROM employees, departments
WHERE employees.`department_id` = departments.`department_id`;
其中第3行代码,它就是连接条件,它使用了等号,故称为等值连接。
2. 非等值连接
对应地,多表查询语句中的连接条件不是使用等号的称为非等值连接。
【例子】根据员工表 employees
员工的月工资 salary
,去职级表 job_grades
中查询其对应的职级。
职级表 job_grades
如图所示:
员工表 employees
如下图所示:
【分析】员工表 employees
和职级表 job_grades
之间没有相同的字段以供等值连接。唯一有关系的就是工资,那我们就可以通过非等值连接来查询这两个表。如下代码所示:
SELECT emp.employee_id, emp.last_name, jg.grade_level
FROM employees emp, job_grades jg
WHERE emp.`salary` BETWEEN jg.`lowest_sal` AND jg.`highest_sal`;
查询结果:
相关文章
- Mysql远程连接数据库报错排查:pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on '**.**.**.**' (timed out)")
- 【Mysql】初识MySQL
- 【问题解决方案】MySQL安装后无法启动-net start mysql服务名无效
- PHP中smarty与MYSQL数据库的连接
- PHP连接MySQL数据库的三种方式(mysql、mysqli、pdo)--续
- MYSQL随机抽取查询 MySQL Order By Rand()效率问题
- mysql 常用命令,连接数据库,查看建表语句,批量导入数据,批量更新数据,连接查询
- C#-连接mysql数据库和C#展示数据表
- Mysql索引数据结构有多个选择,为什么一定要是B+树呢?_面试 (MySQL 索引为啥要选择 B+ 树)
- gorm连接MySQL数据库:建表、查询单条数据
- 【收藏】windows下 Mysql 错误 Can‘t open and lock privilege tables: Table ‘mysql.user‘ doesn‘t exist
- error: 'Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)'
- mysql常用基础操作语法(九)~~外连接查询【命令行模式】
- mysql常用基础操作语法(八)~~多表查询合并结果和内连接查询【命令行模式】
- Mysql连接报错:1130-host ... is not allowed to connect to this MySql server如何处理
- 详解MySQL information_schema数据库常用的表信息以及各表对应的字段信息;以及如何登录mysql和创建视图
- mysql连接查询
- MySQL远程连接报错2003-cant connection to mysql server on ‘IP’(10061 unknown error)
- Mysql之安全清理mysql-slow.log
- MySQL LEFT/RIGHT JOIN:外连接查询
- Mycat启动正常但无法连接ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql
- 1.3 用navicat连接mysql数据库、新建数据库、还原数据库