📅  最后修改于: 2020-11-11 09:36:21             🧑  作者: Mango
SQL右联接返回右表中所有行的值。它还包括左表中的匹配值,但是如果两个表中都不匹配,则返回NULL。
右连接的基本语法:
SELECT table1.column1, table2.column2.....
FROM table1
RIGHT JOIN table2
ON table1.column_field = table2.column_field;
让我们以2个表为例,table1是CUSTOMERS表,而table2是ORDERS表。
客户表:
ID | NAME | AGE | SALARY |
---|---|---|---|
1 | ARYAN | 51 | 56000 |
2 | AROHI | 21 | 25000 |
3 | VINEET | 24 | 31000 |
4 | AJEET | 23 | 32000 |
5 | RAVI | 23 | 42000 |
这是第二张表:
订单表:
DATE | O_ID | CUSTOMER_ID | AMOUNT |
---|---|---|---|
20-01-2012 | 001 | 2 | 3000 |
12-02-2012 | 002 | 2 | 2000 |
22-03-2012 | 003 | 3 | 4000 |
11-04-2012 | 004 | 4 | 5000 |
在这里,我们将使用SQL RIGHT JOIN将这两个表连接起来:
SQL> SELECT ID,NAME,AMOUNT,DATE
FROM CUSTOMER
RIGHT JOIN ORDER
ON CUSTOMER.ID = ORDER.CUSTOMER_ID;
ID | NAME | AMOUNT | DATE |
---|---|---|---|
2 | AROHI | 3000 | 20-01-2012 |
2 | AROHI | 2000 | 12-02-2012 |
3 | VINEET | 4000 | 22-03-2012 |
4 | AJEET | 5000 | 11-04-2012 |