zoukankan      html  css  js  c++  java
  • 数据库学习之四--Join, Left Join, Right Join, Full Join对比

    一、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 ('1', 'Adams', 'John', '21', 'London');
    INSERT INTO `persons` VALUES ('2', 'Bush', 'George', '23', 'New York');
    INSERT INTO `persons` VALUES ('3', 'Carter', 'Thomas', '26', '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 ('1', '3', '11000', '11.2');
    INSERT INTO `orders` VALUES ('2', '3', '11001', '10');
    INSERT INTO `orders` VALUES ('3', '1', '11022', '10.5');
    INSERT INTO `orders` VALUES ('4', '1', '11023', '15');
    INSERT INTO `orders` VALUES ('5', '1', '11064', '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

    查询结果:

     

        

        

          

      

        

        

      

      

  • 相关阅读:
    去掉[]中的英文字符
    Python面向对象OOP
    Python内置模块
    Python面向对象
    Python文件操作
    Python元组数据类型详解
    Jenkins+postman发送邮件测试报告及附件
    Python列表数据类型详解
    Python面向对象高阶描述符与设计魔术方法
    Python字典数据类型详解
  • 原文地址:https://www.cnblogs.com/anlia/p/11733643.html
Copyright © 2011-2022 走看看