zoukankan      html  css  js  c++  java
  • SQL之连接查询

    这几天忙着笔试、面试,遇到了好几个关于数据库的试题,当然只是简单的多表查询。我第一时间都是选择select...from...where...group by...having...这个结构去写的。但发现它给的选项中还包含了join,平时用数据库不是很频繁,只记得join是把多个表上相同字段的记录连接生成新记录,且相同记录只出现一次。为了彻底弄清楚这个问题,特意去复习了一下《数据库系统概论》。

    一、join的分类

    SQL中join分为两类:普通连接(内连接)和外连接。内外连接的区别体现在对没有匹配到字段的记录的处理方式上,内连接只生产匹配记录对于的新记录,对于没有匹配的记录忽略。外连接分为左外连接,右外连接和全外连接,不同的子类外连接在处理不同匹配项上不同。

    二、内连接

    join:生成参与join的两个表的笛卡尔积。

    natural join:两个表中相同列名的值相等构成的新记录。

    natural join using:只是用指定相同属性连接生成新表

    natural join on:只要满足on后谓词为真的记录都会被拼凑在新表中。

    三、外连接

    natural left outer join:natural join的结果加上第一个表中未匹配的记录后接null生成的新记录。

    natural right outerjoin:natural join的结果加上null后接第二个表中未命中的记录生成的新记录。后

    natural full outer join:natural join的结果加上第一个表中未匹配的记录后接null生成的新记录加上null后接第二个表中未命中的记录。

  • 相关阅读:
    python基础篇-wordcloud库的使用
    python基础篇-数据格式化和处理
    python基础篇-文件(读取,操作,关闭)
    python基础篇-jieba库的使用
    python基础篇-组合数据类型-3.字典
    mbStringLength 获取javascript字符串字节数
    JS 字符unicode转换函数
    jar命令解析--转自百度知道
    JBOSS7.0 热部署及开启远程调试的方法
    WampServer 安装心得
  • 原文地址:https://www.cnblogs.com/fallblank/p/5834081.html
Copyright © 2011-2022 走看看