博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySql常用 join 详解
阅读量:7165 次
发布时间:2019-06-29

本文共 2575 字,大约阅读时间需要 8 分钟。

虽然这类资料比较多....我觉得还是有必要记下来,新手可以看看吧。。。老司机可以一眼飘过那。。。

常用SQL JOINS方式

  • 1.SELECT select_list FROM TABLEA A LEFT JOIN TABLEB B ON A.Key=B.Key

  • 2.SELECT select_list FROM TABLEA A RIGHT JOIN TABLEB B ON A.Key=B.Key

  • 3.SELECT select_list FROM TABLEA A LEFT JOIN TABLEB B ON A.Key=B.Key

    WHERE B.key is NULL

  • 4.SELECT select_list FROM TABLEA A RIGHT JOIN TABLEB B ON A.Key=B.key

    WHERE A.Key is null

  • 5.SELECT select_list FROM TABLE A INNER JOIN TABLEB B ON A.Key=B.Key

  • 6.SELECT select_list FROM TABLE A FULL OUTER JOIN TABLEB B ON A.Key=B.Key(Oracle支持)

  • 7.SELECT select_list FROM TABLE A FULL OUTER JOIN TABLEB B ON

    WHERE A.Key IS NULL OR B.Key IS NULL(Oracle支持)

运行效果
create table tbl_dept(  id int(11) not null auto_increment,  deptName varchar(30) default null,  locAdd varchar(40) default null,  primary key(id))engine=innodb auto_increment=1 default charset=utf8;create table tbl_emp(  id int(11) not null auto_increment,  name varchar(20) default null,  deptId int(11) default null,  primary key(id),  key fk_dept_id (deptId)  #constraint fk_dept_id foreign key (deptId) references tbl_dept (id))engine=innodb auto_increment=1 default 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',16);insert into tbl_emp(name,deptId)values('z2',1);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('z4',1);insert into tbl_emp(name,deptId)values('z6',1);insert into tbl_emp(name,deptId)values('w5',2);insert into tbl_emp(name,deptId)values('s7',3);insert into tbl_emp(name,deptId)values('s8',4);insert into tbl_emp(name,deptId)values('s9',51)

  • select * from tbl_emp;

  • select * from tbl_emp;

  • 两个集合笛卡尓积 select * from tbl_emp,tbl_dept;

  • select * from tbl_emp a inner join tbl_dept b on a.deptId=b.id;

  • select * from tbl_emp a left join tbl_dept b on a.deptId=b.id;

  • select * from tbl_emp a right join tbl_dept b on a.deptId=b.id;

  • select * from tbl_emp a left join tbl_dept b on a.deptId=b.id where b.id is null;

  • select * from tbl_emp a right join tbl_dept b on a.deptId=b.id where a.deptId is null;

  • select * from tbl_emp a left join tbl_dept b on a.deptId=b.id

    union
    select * from tbl_emp a right join tbl_dept b on a.deptId=b.id;

  • select * from tbl_emp a left join tbl_dept b on a.deptId=b.id where b.id is null

    union
    select * from tbl_emp a right join tbl_dept b on a.deptId=b.id where a.deptId is null;

 

转载地址:http://momwm.baihongyu.com/

你可能感兴趣的文章
Intellij IDEA GIT 分支合并冲突
查看>>
Android中Paint字体的使用
查看>>
vsftpd开启日志记录上传、下载、删除,分析xferlog日志
查看>>
Ruby On Rails 路由配置简述
查看>>
TurboMail邮件系统工程师重要提醒:谨防邮件钓鲸诈骗
查看>>
keytool生成证书与Tomcat SSL配置
查看>>
Maven创建web项目:SpringMVC+Mybatis
查看>>
最佳的75个安全工具
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
ios开发学习-弹出视图(Popup View) 效果源码分享--系列教程1
查看>>
过年回去做了些什么。!?
查看>>
ORACLE扩容方法
查看>>
SpringBoot(一)环境搭建
查看>>
js禁止后退
查看>>
JS自动补全
查看>>
最短路径搜索-Floyd算法
查看>>
Windows 8 十大功能看点
查看>>
调浏览器兼容时遇到的问题
查看>>
java中的并发:进程和线程
查看>>