中科白癜风公益活动 http://nb.ifeng.com/a/20190521/7468801_0.shtml之前一直和大家分享的是单表查询,以后单表的各种应用,今天开始,我们和大家一起学习,多表如何连接并查询的。我们先一步一步来,今天先和大家分享一下,两张表格之前如何连接。既然说到两张表格的连接,那么首先得先有两张表格,还是用我们之前一直用的两张表格,一张员工表emp,一张部门表dept。先连接数据库,进入到数据库,暂时我们先用这两张表格,待后续聊到多表的时候,我们再一起新建一些表格,那时正好也一起复习一下之前的内容:连接数据库先来看一下两张表格内连接的语法:select列from表1innerjoin表2on过滤条件;练习:查询所有员工的姓名及对应所在的部门;分析:1、查询的是什么?姓名及所在部门2、怎么查?需要两张表格的信息,员工表的姓名及部门表的部门名称;那我们先按照之前我们学习到的,先写一下代码:selectemp.ename,dept.dnamefromemp,dept;查询员工信息这个结果有问题么?有的,因为这个将每个人都对应了所有的部门,这个现象叫产生了笛卡尔积,所以我们要消除笛卡尔积,如何操作呢?selectemp.ename,dept.dnamefromempinnerjoindeptonemp.deptno=dept.did;再次运行:查询员工姓名及部门这样就能正常展现了,那实际应用过程中,我们可以简写代码,如下:selectemp.ename,dept.dnamefromemp,deptwhereemp.deptno=dept.did;更次运行一下:简写代码,查询信息这样结果与之前的结果是一样的,所以实际应用中,可以这样简写。当然,若是表名过长,也可以起个别名,这样更方便些:selecte.ename,d.dnamefromempe,deptdwheree.deptno=d.did;给表设置另名,并查询信息运行之后,依然是一样的结果,但是这样用起来更为简单化,怎么样?两张表格的内连接学会了么?可能会有些复杂,这里和大家整理了一个口诀:1、连接之前,写先from,若是表名过长,可使用别名;2、可以使用where连接两个表中的主外键;3、若是使用标准的内连接,则将“,”修改为innerjoin,将where修改为on;这些就是关于mysql中,两个表的内连接用法,大家理解了么?若是有什么问题,欢迎留言或私信我哦,我们一起分享,一起学习。明天会跟大家说一下外连接如何使用,各位想要了解么
转载请注明:http://www.aierlanlan.com/tzrz/6319.html