17,377
社区成员
发帖
与我相关
我的任务
分享
--方法一:
SELECT a.QTY
FROM A LEFT JOIN B
--这里应该还有一个连接条件
WHERE A.BRAN LIKE '3'--这写法等于a.bran='3'
返回7599行,
方法二:
SELECT a.QTY
FROM A LEFT JOIN B
--这里应该还有一个连接条件
WHERE B.BRAN LIKE '3'--这写法等于b.bran='3'
--返回8689行
--
--两个方法都是左连接,即以A表为基准
--若是匹配的话:like '%3%'
--方法一
-- 以a表为准,查询a表中bran字段含有字符'3'的记录,
-- 并返回记录
--方法二
-- 还是以a表为基准,但是这次需要检查b表中bran字段
-- 是否含有字符'3',若含有且满足左连接的条件,
-- 就返回记录
--
--返回记录的行数是不确定的,这还得参照你当前的数据库表里面的数据
--不同的过滤条件,返回的结果可能相同,可能不同
SQL> col name for a10
SQL> select * from t1;
NAME
----------
ab1
ab2
ab3
ab4
ab5
已选择5行。
SQL> select * from t2;
NAME
----------
ab1
ab4
ab5
已选择3行。
SQL> SELECT *
2 FROM t1
3 LEFT JOIN t2
4 ON (t1.name = t2.name)
5 WHERE t1.name LIKE '%ab%';
NAME NAME
---------- ----------
ab1 ab1
ab4 ab4
ab5 ab5
ab3
ab2
已选择5行。
SQL> SELECT *
2 FROM t1
3 LEFT JOIN t2
4 ON (t1.name = t2.name)
5 WHERE t2.name LIKE '%ab%';
NAME NAME
---------- ----------
ab1 ab1
ab4 ab4
ab5 ab5
已选择3行。
SQL>