左连接
取左表的全部数据,将右表的符合要求的数据拼接在左表上。 二者条件为ON
假设:左表有两行两列数据,右表也有两行两列数据,二者符合on要求的数据都为空,则二者左连接后的数据集为:
左表行1+null
左表行2+null
内连接
取左表的全部数据,再取右表的全部数据,判断ON条件,左、右边两张表的数据都要有,且符合ON条件的,才拼接显示。
举例:左表有两行两列数据,右表符合on要求的数据为空,则二者内连接后的数据集为:
null
是的,全为空。
右连接
左连接
取右表的全部数据,将左表的符合要求的数据拼接在右表上。 二者条件为ON
假设:左表有两行两列数据,右表也有两行两列数据,二者符合on要求的数据都为空,则二者左连接后的数据集为:
null+右表行1
null+右表行2
内连接和左连接的区别
内连接和左连接相比只有两个要点:
1.on条件要满足
2.左右两张表都不为空
因此,在左连接后,加个where xx is not null 呈现效果和内连接是一样的,这样也能排除重复数据。
当然,这是在不考虑执行效率的情况下的操作。