zoukankan      html  css  js  c++  java
  • MySQL 多表查询

    1.笛卡尔积
      SELECT * FROM emp,dep;
      SELECT * FROM emp,dep WHERE emp.dep_id = dep.id and dep.name = "技术";

    2.内连接:只取两张表有对应关系的记录
      SELECT * FROM emp INNER JOIN dep on emp.dep_id = dep.id;
      SELECT * FROM emp INNER JOIN dep ON emp.dep_id = dep.id WHERE dep.name = "技术";


    3.左连接:在内连接的基础上保留左表没有对应关系的记录
      SELECT * FROM emp LEFT JOIN dep ON emp.dep_id = dep.id;


    4.右连接:在内连接的基础上保留右表没有对应关系的记录
      SELECT * FROM emp RIGHT JOIN dep ON emp.dep_id = dep.id;


    5.全连接:在内连接的基础上保留左、右表没有对应关系的记录
      SELECT * FROM emp LEFT JOIN dep ON emp.dep_id = dep.id;
      UNION
      SELECT * FROM emp RIGHT JOIN dep ON emp.dep_id = dep.id;

      Oracle数据库使用全连接方法:
        SELECT * FROM emp FULL JOIN dep ON emp.dep_id = dep.id;


    6.子查询:是将一个查询语句的结果用括号括起来当作另外一个查询语句的条件取用
      SELECT * FROM emp WHERE dep_id =(SELECT id FROM dep WHERE name = "技术");
      SELECT * FROM emp WHERE dep_id in (SELECT id FROM dep WHERE name = "技术" OR name = "人力资源");

  • 相关阅读:
    Intern Day15
    Intern Day15
    Intern Day15
    Intern Day15
    Intern Day15
    Intern Day14
    Intern Day14
    纯CSS序列号
    屌丝、高富帅、文艺青年、土豪的区别
    什么是文艺
  • 原文地址:https://www.cnblogs.com/earon/p/9665713.html
Copyright © 2011-2022 走看看