SQL JOIN
正如其名字所示,JOIN表示 合并某些东西 在SQL的情况下,JOIN表示 “合并两个或多个表” 。
SQL JOIN子句从数据库中的两个或多个表中获取记录并将其组合在一起。
ANSI标准SQL 定义了五种类型的JOIN:
- 内连接(inner join),
- 左外连接(left outer join),
- 右外连接(right outer join),
- 全外连接(full outer join),以及
- 交叉连接(cross join)。
在连接的过程中,两个表的行被合并在一个单独的表中。
为什么要使用SQL JOIN?
如果你想通过SELECT语句访问多个表。
如果你想要合并两个或多个表,那么将使用SQL JOIN语句。它将这些表的行合并在一个表中,可以通过SELECT语句检索信息。
两个或多个表的连接是基于它们之间的共同字段。
SQL INNER JOIN也被称为简单连接,是最常见的连接类型。
如何使用SQL JOIN或SQL Inner Join?
让我们举个例子来说明SQL JOIN的过程:
1.员工表(Staff table)
ID | Staff_NAME | Staff_AGE | STAFF_ADDRESS | Monthley_Package |
---|---|---|---|---|
1 | ARYAN | 22 | MUMBAI | 18000 |
2 | SUSHIL | 32 | DELHI | 20000 |
3 | MONTY | 25 | MOHALI | 22000 |
4 | AMIT | 20 | ALLAHABAD | 12000 |
2.付款表
Payment_ID | DATE | Staff_ID | AMOUNT |
---|---|---|---|
101 | 30/12/2009 | 1 | 3000.00 |
102 | 22/02/2010 | 3 | 2500.00 |
103 | 23/02/2010 | 4 | 3500.00 |
所以,如果您按照这个JOIN语句将这两个表连接起来?
SELECT Staff_ID, Staff_NAME, Staff_AGE, AMOUNT
FROM STAFF s, PAYMENT p
WHERE s.ID =p.STAFF_ID;
这将产生以下结果:
STAFF_ID | NAME | Staff_AGE | AMOUNT |
---|---|---|---|
3 | MONTY | 25 | 2500 |
1 | ARYAN | 22 | 3000 |
4 | AMIT | 25 | 3500 |
1 | ARYAN | 22 | 3000 |