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

  

二、查询对比

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

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

数据表显示如下:

persons:

 

Orders:

 

  2. Join、Inner Join查询语句:

  1. SELECT Persons.LastName, Persons.FistName, Orders.OrderNo
  2. FROM Persons
  3. INNER JOIN Orders
  4. ON Persons.Id_P = Orders.Id_P
  5. ORDER BY Persons.LastName

查询结果:

  

 

  3. Left Join查询:  

  1. SELECT Persons.LastName, Persons.FistName, Orders.OrderNo
  2. FROM Persons
  3. LEFT JOIN Orders
  4. ON Persons.Id_P = Orders.Id_P
  5. ORDER BY Persons.LastName

查询结果:

  4. Right Join查询: 

  1. SELECT Persons.LastName, Persons.FistName, Orders.OrderNo
  2. FROM Persons
  3. RIGHT JOIN Orders
  4. ON Persons.Id_P = Orders.Id_P
  5. ORDER BY Persons.LastName

查询结果:

  5. Full Join查询:

  1. SELECT FistName,LastName, Age,OrderNo
  2. FROM Persons
  3. FULL JOIN Orders

查询结果:

 

    

    

      

  

    

    

  

  

数据库学习之四--Join, Left Join, Right Join, Full Join对比的更多相关文章

  1. 一步一步跟我学习lucene(18)---lucene索引时join和查询时join使用演示样例

    了解sql的朋友都知道,我们在查询的时候能够採用join查询,即对有一定关联关系的对象进行联合查询来对多维的数据进行整理.这个联合查询的方式挺方便的.跟我们现实生活中的托人找关系类似,我们想要完毕一件 ...

  2. SQL join中级篇--hive中 mapreduce join方法分析

    1. 概述. 本文主要介绍了mapreduce框架上如何实现两表JOIN. 2. 常见的join方法介绍 假设要进行join的数据分别来自File1和File2. 2.1 reduce side jo ...

  3. SQL Server之LEFT JOIN、RIGHT LOIN、INNER JOIN的区别

    很多人刚入门的时候分不清LEFT JOIN.RIGHT LOIN 和 INNER JOIN的区别,对它们的定义比较模糊,今天就简单的介绍一下它们的区别,对于入门的人来说,应该能够帮助你们理解. lef ...

  4. MySQL数据库学习笔记(六)----MySQL多表查询之外键、表连接、子查询、索引

    本章主要内容: 一.外键 二.表连接 三.子查询 四.索引 一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复 ...

  5. SQL Server数据库学习总结

    经过一段时间的学习,也对数据库有了一些认识,数据库基本是由表,关系,操作组成:对于初学者首先要学的     一图胜“十”言:SQL Server 数据库总结 一个大概的总结 经过一段时间的学习,也对数 ...

  6. MySQL数据库学习笔记----MySQL多表查询之外键、表连接、子查询、索引

    本章主要内容: 一.外键 二.表连接 三.子查询 四.索引 一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复 ...

  7. 数据库学习---SQL基础(一)

     数据库学习---SQL基础(一) 数据库学习---SQL基础(二) 数据库学习---SQL基础(三) SQL(struct query language)结构化查询语言:一种专门与数据库通信的语言, ...

  8. SQL数据库学习,常用语句查询大全

    数据库学习 sql server数据库基本概念 使用文件保存数据存在几个缺点: 1.文件的安全性问题: 2.文件不利于查询和对数据的管理: 3.文件不利于存放海量数据 4.文件在程序中控制不方便. 数 ...

  9. SQL数据库学习系列之一

    数据库知识的重要性不言而喻,以下链接给出了最最基础知识的讲解. 第一讲:SQL 语法 第二讲:SQL SELECT 语句 第三讲:SELECT DISTINCT 语句 第四讲:SQL WHERE 子句 ...

随机推荐

  1. SAS学习笔记31 SAS随机分组方法及实现

    随机分组方法包括: 简单随机化(simple randomization) 区组随机化(block randomization) 分层随机化(stratified randomization) 分层区 ...

  2. (六)easyUI之对话框窗口

    一.拥有HTML的对话框 <%@ page language="java" contentType="text/html; charset=UTF-8" ...

  3. (四)lucene之文本域加权

    一.前言 1.1 应用场景 有时在搜索的时候,会根据需要的不同,对不同的关键值或者不同的关键索引分配不同的权值,让权值高的内容更容易被用户搜索出来,而且排在前面. 为索引域添加权是再创建索引之前,把索 ...

  4. Vibe

    在读研和工作之间徘徊了半年,看着一个个好友工作.保研,生活安排得井井有条,我也是时候收拾心情,整装前进了.既然选择了图像,就一定要好好做下去. 今天开始第一个算法,Vibe. ViBe是一种像素级视频 ...

  5. python常见函数运用【一】

    1.Python hasattr() 函数 描述hasattr() 函数用于判断对象是否包含对应的属性. 语法 hasattr 语法: hasattr(object, name)参数object -- ...

  6. 【shell脚本】$ 在shell脚本中的使用

    shell脚本中 '$' 与不同的符号搭配其表示的意义也会不同 特殊标志符 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数. 例如,第一个参数是$1,第二个 ...

  7. 转载一篇有关于diff的文章,方便以后复习

    本文章是转载的,为了方便以后复习,特地记录一下.他人请去原地址观看!!! 文章原地址:http://www.ruanyifeng.com/blog/2012/08/how_to_read_diff.h ...

  8. 数据库(sql server 2000)—— 学习笔记1

    一.安装 安装程序一般都是四合一的,SQL Server 2000有四个版本:企业版.标准版.个人版.开发版,每个版本的对系统的要求各不相同. SQL Server 2000各版本 对 操作系统的要求 ...

  9. UMI.js开发知识总结

    五分钟掌握最小知识体系 本文阅读时间大概为5分钟,但是能让你了解基于UMI和DVA构建项目的最小知识体系,你可以粗略的浏览一下本文所提到的知识,在后续的讲解中都会多次重复提起,保证学习效率.由于现在前 ...

  10. ASE19团队项目 beta阶段 model组 scrum5 记录

    本次会议于12月6日,19时30分在微软北京西二号楼sky garden召开,持续20分钟. 与会人员:Jiyan He, Lei Chai, Linfeng Qi, Xueqing Wu, Kun ...