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后接第二个表中未命中的记录。

  • 相关阅读:
    windows下如何添加、删除和修改静态路由
    node.js后台快速搭建在阿里云(二)(pm2和nginx篇)
    使用PM2守护Nodejs命令行程序
    使用pm2管理nodejs应用
    ubuntu 下安装nodejs以及pm2
    nginx优化缓冲缓存
    nginx proxy_buffer_size 解决后端服务传输数据过多,其实是header过大的问题
    经济规律 宏观调控 与个体
    宏观调控
    《论教育》-------叔本华
  • 原文地址:https://www.cnblogs.com/fallblank/p/5834081.html
Copyright © 2011-2022 走看看