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 = "人力资源");

  • 相关阅读:
    leetcode刷题29
    leetcode刷题28
    leetcode刷题27
    leetcode刷题23
    leetcode刷题22
    leetcode刷题21
    leetcode刷题20
    Unity中通过DoTween实现转盘效果
    U3D工作注意事项,不要再犯!
    Unity中String字符串的优化
  • 原文地址:https://www.cnblogs.com/earon/p/9665713.html
Copyright © 2011-2022 走看看