风一更--软件开发--RDBMS--SQL

目的: 温故RDBMS 查询.


thanks references:

1.曾经的 RDBMS 理论和工作实践.

2.


1. SQL 关联查询

    

    A left join B  on  A.id = B.a_id  

    一对一的关系, A中有3条记录, 而B中只有2条记录.  结果以A表为基准有3条, B中没有相应的则在该行记录字段部分显示null.


select [list]  from A left join B  

on

where

条件连接查询,全量查询, 使用 where 字句来限定条件,提高查询效率.

主表的筛选条件应该放置在 where 条件后面.

on后面的条件是针对关联表的.

关联表的筛选条件:

  1.放在on后面, A和B连接顺序:B先按条件查询,再与A表连接.

  2.放在where后面, A和B连接顺序: A和B连接后,再从连接表中筛选。

=========================================

where 限定条件放在 on 后面. 进行筛选.

========================================

on 之后的筛选条件 不生效。因为是对主表的操作


 

on 后面 在关联表添加条件筛选,  

会先把关联表进行筛选,然后再 left join 主表.

================================================================

where 在关联表上加限制条件, 则会先 联结主表, 而后再筛选.


 

posted @ 2023-09-27 21:51  君子之行  阅读(18)  评论(0)    收藏  举报