oracle leftjoin on where 区别
时间: 2024-01-17 11:17:54 浏览: 115
在Oracle中,left join是一种连接操作,它返回左表中的所有记录以及与右表匹配的记录。而on和where是用于筛选数据的条件语句。
on子句用于指定连接条件,它在连接操作之前进行筛选。在left join中,on子句指定了左表和右表之间的连接条件。例如,引用中的语句`select * from tab1 left join tab2 on (tab1.size = tab2.size)`中的`on (tab1.size = tab2.size)`表示左表tab1和右表tab2之间的连接条件是它们的size列相等。
where子句用于在连接操作之后对结果进行进一步的筛选。它可以包含任何条件表达式,用于过滤连接结果。例如,引用中的语句`where tab2.name='AAA'`表示在连接操作之后,只选择满足tab2.name='AAA'条件的记录。
因此,left join中的on子句用于指定连接条件,而where子句用于对连接结果进行进一步的筛选。
相关问题
oracle left join on多条件
在Oracle中,可以使用LEFT JOIN来连接两个或多个表,并且可以使用多个条件来指定连接条件。下面是一个示例:
```
SELECT *
FROM table1
LEFT JOIN table2
ON table1.column1 = table2.column1
AND table1.column2 = table2.column2
WHERE ...
```
在上面的示例中,`table1`和`table2`是要连接的两个表,`column1`和`column2`是连接条件的列。使用`ON`关键字来指定连接条件,通过多个条件使用`AND`进行连接。你可以根据实际情况替换表名、列名和其他条件。
注意,在LEFT JOIN中,左边的表(在这个例子中是`table1`)包含了所有的行,而右边的表(在这个例子中是`table2`)只包含与左边表匹配的行。如果没有匹配的行,右边的表将会包含NULL值。
另外,请在查询的其他部分使用适当的WHERE子句来过滤结果集,以满足你的需求。
Oracle left join
A left join in Oracle is a type of join operation that returns all the records from the left table (also known as the "driving" or "preserved" table) and matching records from the right table, if any exist. If there are no matching records in the right table, the result set will contain NULL values for the right table columns.
The syntax for a left join in Oracle is:
SELECT column1, column2, ...
FROM table1
LEFT JOIN table2
ON table1.column = table2.column;
In this example, the LEFT JOIN statement is used to join table1 and table2 on the specified column. The result set will contain all the records from table1, and matching records from table2, if any exist. If there are no matching records in table2, the result set will contain NULL values for the table2 columns.
The LEFT JOIN statement can also be combined with other clauses, such as WHERE or ORDER BY, to further filter and sort the result set.
阅读全文