MySQL中的多表连接

当查询的数据并不是来源一个表时,需要使用多表链接操作完成查询。根据不同表中的数据之间的关系查询相关联的数据。


一、语法结构


使用一个表在多个表中查询数据;

Where子句中写连接条件;


二、等值连接


等值连接也被称为简单连接 (simple joins) 或内连接 (inner joins)。是通过等号来判 断连接条件中的数据值是否相匹配。


查询雇员 King 所在的部门名称;

Select d.department_name from employees e , departments d where e.dept_id =     d.department_id and e.last_name = ‘King’;

三、非等值连接


一个非等值连接是一种不使用相等(=)作为连接条件的查询。如!=、>、<、>=、<=、
BETWEEN AND 等都是非等值链接的条件判断;

一、创建 sal_level 表,包含 lowest_sal,highest_sal,level。

Create table sal_level(lowest_sal int , highest_sal int , level varchar(10));

二、插入数据

Insert into sal_level values(1000,2999,”A”);
Insert into sal_level values(2000,4999,”B”);
Insert into sal_level values(5000,7999,”C”);
Insert into sal_level values(8000,12000,”D”);

三、查询所有雇员的薪水级别。


Select e.last_name , s.level from employees e , sal_level s where e.salary   between s.lowest_sal and highest_sal ;

四、自连接


使用一个表连接它自身的操作。

一、修改 employees 表,添加 manager_id 列;

Alter table employees add manager_id int;

二、修改数据 Oldlu 是 kevin 与 King 的经理;Taylor 是 Fox 的经理;

1.Update employees set manager_id = 1 where last_name = “King” or  last_name = “Kevin”;
2.Update employees set manager_id = 3 where last_name = “Fox”;

三、查询每个雇员的经理的名字以及雇员的名字。

Select em.last_name , ew.last_name from employees ew , employees em where ew.manager_id = em.employees_id ;

MySQL中的多表连接相关推荐

  1. mysql中两个表连接_SQL语句中两个表的连接

    展开全部 一.外连接 1.左连接  left join 或 left outer join SQL语句:select * from student left join score on student ...

  2. 【MySQL进阶】多表连接的原理

    [MySQL进阶]多表连接的原理 文章目录 [MySQL进阶]多表连接的原理 前言 一:连接简介 1:连接的本质 2:连接过程简介 二:连接的原理 1:嵌套循环连接(Nested-Loop Join) ...

  3. mysql中什么是表?列?行?什么是主键和外键?什么是索引?为什么要使用索引?

    mysql中什么是表?列?行? 在关系数据库中,表(Table)是数据的主要组织单元.它是由一组命名的列和行组成,用于存储和组织数据. 列(Column)是表中的一个字段,用于存储特定类型的数据.每个 ...

  4. MySql中把一个表的数据插入到另一个表中的实现代码--转

    MySql中把一个表的数据插入到另一个表中的实现代码 司的一个项目,做报表--要关联的表结构比较多,最后决定把要用的数据集合到一张新表中,需要用到以下的sql语法......分享下: web开发中,我 ...

  5. MySQL中concat函数(连接字符串)

    MySQL中concat函数(连接字符串) MySQL中concat函数 使用方法: concat(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 ...

  6. mysql 操作表的例子,mysql中库和表的简单操作总结(附示例)

    本篇文章给大家带来的内容是关于mysql中库和表的简单操作总结(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一. 库的操作 1.创建数据库 创建数据库: create d ...

  7. mysql中视图和表的区别及联系_MySQL中Update、select联用操作单表、多表,及视图与临时表的区别...

    一.MySQL中使用从表A中取出数据来更新表B的内容 例如:要update表data中的一些列属性,但是修改属性的内容来源是来自表chanpin.SQL语言中不要显示的出现select关键字 upda ...

  8. MySQL学习笔记(六)-MySQL中库和表的管理

    MySQL学习笔记(六)-MySQL中库和表的管理 作者:就叫易易好了 日期:2020/11/23 1 2 DDL即数据定义语言 创建:create 修改:alter 删除:drop 库和表的管理: ...

  9. 在MySQL中实现交叉表查询2(动态交叉表)

    在MySQL中实现交叉表查询2(动态交叉表) 交叉表分为静态交叉表和动态交叉表.其中静态交叉表中的列是固定的,因此相对容易实现:而动态交叉表中的列需要动态生成. 一.静态交叉表的实现 参见上一篇文章: ...

最新文章

  1. 技术图文:如何利用 C# 向 Access 数据库插入大量数据?
  2. Bigtable:结构化数据的分布式存储系统
  3. python 终止、结束、退出 代码
  4. Hessian RPC示例和基于Http请求的Hessian序列化对象传输
  5. 转载 MySQL 性能优化的最佳20多条经验分享 http://www.jb51.net/article/24392.htm
  6. 运放全波整流电路_10种精密全波整流电路
  7. Vue 2.x + Webpack 4.x的那些事---萌新必备
  8. kubeadm 部署全过程问题解决记录
  9. 双清模式无命令_linux性能监控:IO性能监控命令之iotop命令
  10. Numpy数组的广播机制
  11. 为什么说选择正确的编程语言很重要,以及如何正确的选择
  12. Vuebnb 一个用 vue.js + Laravel 构建的全栈应用
  13. inDesign 教程,如何调整布局元素的大小?
  14. mysql数据库二级检索_MySQL数据库(2)检索信息
  15. uniapp中针对H5端做微信分享功能总结
  16. Android总结笔记04:仿QQ空间登录UI,解决软键盘弹出挡住输入框的问题
  17. 傅里叶分析公式推导(最简单的傅里叶级数和傅里叶变换)
  18. win10绝地求生游戏崩溃怎么解决
  19. 要点初见:安装教程与二度拓展——基于SUMO的Flow Project(附代码链接)
  20. 智能设备系统的测试分析——语音识别系统和面部识别系统

热门文章

  1. discuz二次开发笔记(一)------$_G全解析,discuz_g_PHP教程
  2. SSRS动态设置文本框属性
  3. 【BZOJ1623】 [Usaco2008 Open]Cow Cars 奶牛飞车 贪心
  4. thinkphp 创建子应用
  5. 从X86向X64迁移的一点心得
  6. UVa 111 - History Grading
  7. 解压与压缩ramdisk.img文件
  8. cond_resched()
  9. stdthread(6)并发lockGuard
  10. C++ Primer 5th笔记(chap 13 拷贝控制)三五法则