zoukankan      html  css  js  c++  java
  • MySql数据库再学习——简述多表连接查询的自我理解

    一:序

    这几天在学习数据库部分,因为在学校听课也是比较迷糊,经过学习之后感觉现在思路比较清楚,对于多表连接查询操作有了一个新的认识。

    二:假设

    假设现在有两个表 :A ,B.

    三:两表之间的连接方式

    两个表的连接方式分为,内,外,交叉三种。

    内连接的查询方式又分为隐式和显式两种。

    外连接的查询方式又分为左,右两种。

    交叉是将两个表的记录做乘积,因为得到的记录很大程度上没有直接联系,所以交叉连接查询基本没什么意义。

    四:内连接

    内连接的关键词:inner join...(inner可以省略)

    隐式内连接:select(要查询的字段)from A a,B b where a.A_id=b.B_id;

    显式内连接:select(要查询的字段)from A  join B  on(注意这里必须用on不能用where)A_id=B_id;

    总结:内连接查询 查询的是两个表之间的交集。

    五:外连接

    外连接的关键词:outer join.....on (outer可以省略)

    左外连接: select (要查询的字段) from A left join B on (...);

    右外连接: select (要查询的字段) from A right join B on(...);

    总结:左外连接查询的是 左表(语句中为A)的全部 和两表的交集部分。相对应的右外连接性质与左外连接相同。

    六: 交叉连接

    语句 :select * from A,B;(如果A表有3条记录,B有2条记录,查询的结果符合笛卡尔积,有6条记录)

  • 相关阅读:
    Geometry
    后缀数组dc3算法模版(待补)
    CodeForces 467D(267Div2-D)Fedor and Essay (排序+dfs)
    HDU 3572 Task Schedule (最大流)
    Acdream手速赛7
    hdu2732 Leapin' Lizards (网络流dinic)
    HDU 3549 Flow Problem (最大流ISAP)
    HDU 1532 Drainage Ditches (网络流)
    [容易]合并排序数组 II
    [容易]搜索插入位置
  • 原文地址:https://www.cnblogs.com/zhang188660586/p/11209372.html
Copyright © 2011-2022 走看看