zoukankan      html  css  js  c++  java
  • MySQL联结查询

    SQL中,联结主要分为6种类型:

    1.内联结

    将两张表的公共的数据显示出来,即显示两张表的交集:

    SELECT <list> FROM A INNER JOIN B ON A.key = B.key;

    2.左外联结

    将两张表中,只存在于左表中而不存在于右表中的数据筛选出来:

    SELECT <list> FROM A LEFT JOIN B ON A.key = B.key WHERE B.key IS NULL;

    如果不加后面的where子句,会将两张表的共同部分也显示出来。

    3.右外联结

    将两张表中,只存在于右表中而不存在于左表中的数据筛选出来:

    SELECT <list> FROM A RIGHT JOIN B ON A.key = B.key WHERE A.key IS NULL;

    如果不加后面的where子句,会将两张表的共同部分也显示出来。

    4.全联结

    将两张表中所有记录都显示出来,即获取两张表的并集。但是MySQL中并不支持全联结操作,需要人为将左外联结和右外联结合并:

    SELECT <list> FROM A LEFT JOIN B ON A.key = B.key
    UNION ALL
    SELECT <list> FROM A RIGHT JOIN B ON A.key = B.key; 这里union all允许重复数据的存在,如果需要去重则使用union

    5.交叉联结

    又称笛卡尔积联结,返回左表乘以右表的所有条目:

    SELECT <list> FROM A CROSS JOIN B;

    6.自联结

    对同一张表进行联结操作:

    SELECT p1.id, p1.name FROM products AS p1, products AS p2 WHERE p1.vend_id = p2.vend_id AND p2.id = 10;
  • 相关阅读:
    添加远程库
    远程仓库
    删除url中某个参数
    html2canvas.js——HTML转Canvas工具
    vue-cli3与vue-cli2的区别和vue-cli 怎么修改配置
    vue打包后出现一些map文件的解决方法
    微信app右上角自带分享功能
    微信授权获取用户openId的方法和步骤
    支付宝小程序webview里的h5跳转回小程序
    new Date
  • 原文地址:https://www.cnblogs.com/00986014w/p/8465083.html
Copyright © 2011-2022 走看看