案例1:
select count(1) FROM TFUNDINFO A, TFUNDTYPE B WHERE A.VC_FUNDCODE=B.VC_FUNDCODE(+)
select count(1) FROM TFUNDINFO A, TFUNDTYPE B WHERE A.VC_FUNDCODE=B.VC_FUNDCODE
SELECT count(1)
: 这表示查询将返回一个计数,count(1)
是一种常见的计数方式,它对结果集中的每一行都计数一次。FROM TFUNDINFO A, TFUNDTYPE B
: 这指定了查询的来源表,TFUNDINFO
和TFUNDTYPE
是两个表,分别用别名A
和B
表示。WHERE A.VC_FUNDCODE=B.VC_FUNDCODE(+)
: 这是查询的条件部分,它指定了TFUNDINFO
表中的VC_FUNDCODE
字段与TFUNDTYPE
表中的VC_FUNDCODE
字段进行比较。(+)
符号表示外连接,也就是说,即使在TFUNDTYPE
表中没有对应的VC_FUNDCODE
值,TFUNDINFO
表中的记录也会被包括在内。
案例3:LEFT JOIN(以左表查询为主,数据包含所有左表记录,右表没有得也会记录)
SELECT count(1)
FROM TFUNDINFO A
LEFT JOIN TFUNDTYPE B ON A.VC_FUNDCODE = B.VC_FUNDCODE;
-
LEFT JOIN TFUNDTYPE B ON A.VC_FUNDCODE = B.VC_FUNDCODE
: 这部分是连接操作,使用左连接(LEFT JOIN)将TFUNDINFO
表(别名A)和TFUNDTYPE
表(别名B)连接起来。连接条件是两个表中的VC_FUNDCODE
字段相等。左连接意味着TFUNDINFO
表的所有记录都会被包括在内,即使在TFUNDTYPE
表中没有匹配的VC_FUNDCODE
值。
这条SQL语句的执行结果将给出TFUNDINFO
表中的总记录数,不论这些记录在TFUNDTYPE
表中是否有对应的条目。