《Mysql必读MySQL里的join详解》要点: 本文介绍了Mysql必读MySQL里的join详解,希望对您有用。如果有疑问,可以联系我们。
导读:MySQL里的join详解,文氏图与SQL语句的编写以及查询结果
我们先来建立两张有外键关联的张表.
- CREATE?DATABASE?db0206;?
- USE?db0206;?
- ?
- CREATE?TABLE?`db0206`.`tbl_dept`(???
- ??`id`?INT(11)?NOT?NULL?AUTO_INCREMENT,?
- ??`deptName`?VARCHAR(30),?
- ??`locAdd`?VARCHAR(40),?
- ??PRIMARY?KEY?(`id`)?
- )?ENGINE=INNODB?CHARSET=utf8;?
- ?
- CREATE?TABLE?`db0206`.`tbl_emp`(???
- ??`id`?INT(11)?NOT?NULL?AUTO_INCREMENT,?
- ??`name`?VARCHAR(20),?
- ??`deptId`?INT(11),?
- ??PRIMARY?KEY?(`id`),?
- ??FOREIGN?KEY?(`deptId`)?REFERENCES?`db0206`.`tb_dept`(`id`)?
- )?ENGINE=INNODB?CHARSET=utf8;?
- /*插入数据*/?
- INSERT?INTO?tbl_dept(deptName,locAdd)?VALUES('RD',11);?
- INSERT?INTO?tbl_dept(deptName,locAdd)?VALUES('HR',12);?
- INSERT?INTO?tbl_dept(deptName,locAdd)?VALUES('MK',13);?
- INSERT?INTO?tbl_dept(deptName,locAdd)?VALUES('MIS',14);?
- INSERT?INTO?tbl_dept(deptName,locAdd)?VALUES('FD',15);?
- ?
- INSERT?INTO?tbl_emp(NAME,deptId)?VALUES('z3',1);?
- INSERT?INTO?tbl_emp(NAME,deptId)?VALUES('z4',1);?
- INSERT?INTO?tbl_emp(NAME,deptId)?VALUES('z5',1);?
- ?
- INSERT?INTO?tbl_emp(NAME,deptId)?VALUES('w5',2);?
- INSERT?INTO?tbl_emp(NAME,deptId)?VALUES('w6',2);?
- ?
- INSERT?INTO?tbl_emp(NAME,deptId)?VALUES('s7',3);?
- ?
- INSERT?INTO?tbl_emp(NAME,deptId)?VALUES('s8',4);?
MYSQL必读文氏图与SQL语句的编写以及查询结果
1.内连接
内连接文氏图

执行的sql语句以及执行的查询结果
执行的sql语句
select * from tbl_dept a inner join tbl_emp b on a.id=b.deptId;
查询结果?

2.左外连接
左外连接文氏图

执行的sql语句以及执行的查询结果
执行的sql语句
select * from tbl_dept a left join tbl_emp b on a.id=b.deptId;
查询结果?

3.右外连接
右外连接文氏图

执行的sql语句以及执行的查询结果
执行的sql语句
select * from tbl_dept a right join tbl_emp b on a.id=b.deptId;
查询结果?

(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|