一、Join, Left Join, Right Join, Full Join区别:

  

二、查询对比

  1. 创建表Persons和Orders,并插入数据:

CREATE TABLE `persons` (
`ID_P` int(11) NOT NULL AUTO_INCREMENT,
`FistName` varchar(32) COLLATE utf8_bin DEFAULT NULL,
`LastName` varchar(32) COLLATE utf8_bin DEFAULT NULL,
`Age` int(11) DEFAULT NULL,
`City` varchar(32) COLLATE utf8_bin DEFAULT NULL,
PRIMARY KEY (`ID_P`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; -- ----------------------------
-- Records of persons
-- ----------------------------
INSERT INTO `persons` VALUES ('', 'Adams', 'John', '', 'London');
INSERT INTO `persons` VALUES ('', 'Bush', 'George', '', 'New York');
INSERT INTO `persons` VALUES ('', 'Carter', 'Thomas', '', 'Beijing');
CREATE TABLE `orders` (
`ID_O` int(11) NOT NULL AUTO_INCREMENT,
`ID_P` int(11) NOT NULL,
`OrderNo` int(11) NOT NULL,
`Price` float DEFAULT NULL,
PRIMARY KEY (`ID_O`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; -- ----------------------------
-- Records of orders
-- ----------------------------
INSERT INTO `orders` VALUES ('', '', '', '11.2');
INSERT INTO `orders` VALUES ('', '', '', '');
INSERT INTO `orders` VALUES ('', '', '', '10.5');
INSERT INTO `orders` VALUES ('', '', '', '');
INSERT INTO `orders` VALUES ('', '', '', '16.6');

数据表显示如下:

persons:

 

Orders:

 

  2. Join、Inner Join查询语句:

SELECT Persons.LastName, Persons.FistName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.Id_P = Orders.Id_P
ORDER BY Persons.LastName

查询结果:

  

 

  3. Left Join查询:  

SELECT Persons.LastName, Persons.FistName, Orders.OrderNo
FROM Persons
LEFT JOIN Orders
ON Persons.Id_P = Orders.Id_P
ORDER BY Persons.LastName

查询结果:

  4. Right Join查询: 

SELECT Persons.LastName, Persons.FistName, Orders.OrderNo
FROM Persons
RIGHT JOIN Orders
ON Persons.Id_P = Orders.Id_P
ORDER BY Persons.LastName

查询结果:

  5. Full Join查询:

SELECT FistName,LastName, Age,OrderNo
FROM Persons
FULL JOIN Orders

查询结果:

 

    

    

      

  

    

    

  

  

最新文章

  1. json在项目中的应用大总结
  2. 2-c语言作业
  3. 51nod 1051 最大子矩阵和(dp)
  4. unity3d 扩展NGUI —— 限制UI点击响应间隔
  5. 安装交叉编译器arm-linux-gcc
  6. Highlighting Text Item On Entry In Oracle Forms
  7. 流媒体基础实践之——RTMP直播推流
  8. Web- 一些标签样式
  9. git push 报错
  10. HDU 5033 Building(单调栈)
  11. NSDictionary 总结 -iOS
  12. 浅谈MVC
  13. 数据结构与算法(C#)入门 --- 序
  14. Write Sling Servlet using a resource type and selector
  15. Web程序报错:Error instantiating servlet
  16. cmd & tree & bash
  17. Android AsyncTask将讲解
  18. 小鬼难缠--python小bug备忘
  19. 使用hive分析nginx访问日志方法
  20. 【NMS与IOU代码】

热门文章

  1. Linux系统下如何优雅地关闭Java进程?
  2. electron实现透明点投的方法
  3. PAT-1015 Reversible Primes (20 分) 进制转换+质数
  4. (十二)easyUI之表单和验证完成登录页面
  5. 详解为什么设置overflow为hidden可以清除浮动带来的影响
  6. Golang内存管理
  7. # marshalsec使用
  8. c#重写了窗体的OnKeyDown事件,但是不执行
  9. EBS R12.2系统logo的修改
  10. json _ ajax_跨域