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

  • 相关阅读:
    ZABBIX实现原理及架构详解
    for(;;)和while(true)的区别
    JVM
    javap的基本用法
    Java VisualVM添加Visual GC插件
    Java虚拟机监控命令
    数据类型 原始类型的方法
    数据类型 数字类型
    Object(对象):基础知识 原型对象prototype
    Object(对象):基础知识 对象方法,"this"
  • 原文地址:https://www.cnblogs.com/earon/p/9665713.html
Copyright © 2011-2022 走看看