【mysql】连接查询

联合多个表进行搜索数据:称为连接搜索:1999年时出现的语法这里重点学习了SQL99。(在此过程中简要展示SQL92的示例):基于表连接的分类?左外连接(左连接)右外连接(右连接)未加全连接(未图示)1.3条件连接查询;两张表进行连接查询时,连接时加入条件,尽量避免表的连接次数、表的连接条件,表连接的条件独立;...
1、连接查询 1.1 什么是连接查询

从一张表中单独查询,称为单表查询

emp表和dept表联合起来查询数据,从emp表中取员工名字,从dept表中取部门名字。

select ename,dname from emp,dept; 这种跨表查询,多张表联合起来查询数据,被称为连接查询。

1.2 连接查询的分类

根据语法的年代分类:
SQL92:1992年的时候出现的语法
SQL99:1999年的时候出现的语法
我们这里重点学习SQL99.(这个过程中简单演示一个SQL92的例子)

根据表连接的方式分类: 内连接: 等值连接 非等值连接 自连接 外连接: 左外连接(左连接) 右外连接(右连接) 全连接(不讲)
1.3 没加条件连接查询

案例:查询每个员工所在部门名称?
mysql> select ename,deptno from emp;

【mysql】连接查询

14 * 4 = 56

 当两张表进行连接查询,没有任何条件限制的时候,最终查询结果条数,是两张表条数的乘积,这种现象被称为:笛卡尔积现象。(笛卡尔发现的,这是一个数学现象。)
1.4 笛卡尔积现象

连接时加条件,满足这个条件的记录被筛选出来!

 select ename,dname from emp,dept where emp.deptno=dept.deptno;
【mysql】连接查询

思考:最终查询的结果条数是14条,但是匹配的过程中,匹配的次数减少了吗?
答:还是56次,只不过进行了四选一。次数没有减少。

注意:通过笛卡尔积现象得出,表的连接次数越多效率越低,尽量避免表的连接次数。

第二种:取别名

select e.ename,d.dname from emp e,dept d where e.deptno=d.deptno;

表起别名。很重要。效率问题。

1.5 内连接之等值连接

案例:查询每个员工所在部门名称,显示员工名和部门名?
emp e和dept d表进行连接。条件是:e.deptno = d.deptno

SQL92语法: select e.ename,d.dname from emp e, dept d where e.deptno = d.deptno;sql92的缺点:结构不清晰,表的连接条件,和后期进一步筛选的条件,都放到了where后面。
SQL99语法: select e.ename,d.dname from emp e join dept d on e.deptno = d.deptno; //inner可以省略(带着inner可读性更好!!!一眼就能看出来是内连接) select e.ename,d.dname from emp e inner join dept d on e.deptno = d.deptno; // 条件是等量关系,所以被称为等值连接。

sql99优点:表连接的条件是独立的,连接之后,如果还需要进一步筛选,再往后继续添加where

SQL99语法: select ... from a join b on a和b的连接条件 where 筛选条件
1.6 内连接之非等值连接

案例:找出每个员工的薪资等级,要求显示员工名、薪资、薪资等级?

mysql> select * from emp; e+-------+--------+-----------+------+------------+---------+---------+--------+| EMPNO | ENAME | JOB | MGR | HIREDATE | SAL | COMM | DEPTNO |+-------+--------+-----------+------+------------+---------+---------+--------+| 7369 | SMITH | CLERK | 7902 | 1980-12-17 | 800.00 | NULL | 20 || 7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 | 1600.00 | 300.00 | 30 || 7521 | WARD | SALESMAN | 7698 | 1981-02-22 | 1250.00 | 500.00 | 30 || 7566 | JONES | MANAGER | 7839 | 1981-04-02 | 2975.00 | NULL | 20 |....mysql> select * from salgrade; s+-------+-------+-------+| GRADE | LOSAL | HISAL |+-------+-------+-------+| 1 | 700 | 1200 || 2 | 1201 | 1400 || 3 | 1401 | 2000 || 4 | 2001 | 3000 || 5 | 3001 | 9999 |+-------+-------+-------+

select e.ename,e.sal,s.grade from emp e join salgrade s on e.sal between s.losal and s.hisal;

【mysql】连接查询
免责声明:本文内容来源于第三方或整理自互联网,本站仅提供展示,不拥有所有权,不代表本站观点立场,也不构成任何其他建议,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容,不承担相关法律责任。如发现本站文章、图片等内容有涉及版权/违法违规或其他不适合的内容, 请及时联系我们进行处理。

相关推荐

  • 请问连接路由器和电脑(或者hub和电脑)的网线应该用平行线还是交叉线?

    以前电脑和电脑之间的网线接法一定要用交叉接法,可是现在又一部分的网卡里面配置有智能装换,这种网卡你想怎么接法都可以互通,不过连局域网的话网络协议可能有点小小的不相同。双绞线一般有三种线序:直通,交叉和全反。直通线的做法就是使两端的线序相同,要么两头都是568A 标准,要么两头都是568B 标准。为了保持……

    2025-01-04
  • 佛罗伦萨美术学院 佛罗伦萨美术学院申请条件

    文章目录:世界前十的美术学院世界四大美院一、世界前十的美术学院世界前十的美术学院如下:1、弗罗伦萨美术学院。佛罗伦萨美术学院,是有着浓郁历史、艺术和文化的美丽城市,主要院系有绘画、雕塑、装饰、舞台美术和设计。是世界第一所美术学院,著名艺术家达芬奇、米开朗琪罗、大卫等世界级的艺术家都曾在这里。2、巴黎美术学院。巴黎美术学院地处在浪漫之都……

    2024-03-05
  • 俞敏洪裁员 员工年会吐槽俞敏洪

    俞敏洪说女人的一句话“举个简单例子,如果中国所有的女生找男人的标准,都是这个男人必须会背唐诗宋词,那全中国所有的男人都会把唐诗宋词背得滚瓜烂熟,如果所有的女生都说中国男人就是要他赚钱,至于说他良心好不好我不管,那所有的中国男人都会变成良心不好但是赚钱很多的男人,”2018年学习力大会上,俞敏洪演讲时发表了一些关于中国当下女性的言论,不……...

    2024-02-05
  • 经典条件反射是由谁提出的 经典力学与理论力学有什么区别

    经典力学与理论力学有什么区别这两个没什么冲突的地方。经典力学,一般指牛顿力学,是研究单个或几个物体的运动状态;理论力学,我这指分析力学,主要包括虚功、拉格朗日力学和哈密顿力学,它对于处理多变量问题会更方便,它的处理问题的方法,如变分原理、正则变换等适用范围广,求解规范化,不需太过繁琐的受力分析。其他像最小作用量原理等让人类对自然界的认……...

    2023-11-14
  • 木星合月的形成条件是什么

    你听过木星合月吗?那你知道木星合月形成的条件是什么吗?那你知道木星合月出现过几次吗? 形成条件 由于月球在以27天左右为周期绕地球公转,因此在一个公转周期内,它会先后和几大

    2023-05-11