📅  最后修改于: 2023-12-03 15:20:16.465000             🧑  作者: Mango
在SQL中,连接是通过使用JOIN子句来实现的。内连接是连接中的一种类型,它返回两个表中满足连接条件的记录。
内连接只返回左侧表和右侧表中匹配的行。 如果没有匹配的行,则不返回它们。 内连接可以使用多个表进行连接。
以下是SQL内连接的语法:
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
上面的语法中,table1
和table2
是要连接的两个表的名称。 column_name
是要返回的列的名称。 ON
关键字用于指定匹配条件。
以下是使用INNER JOIN进行连接的示例:
假设我们有两个表,一个表名为customers
,包含客户的信息;另一个表名为orders
,包含订单的信息。 它们具有相同的客户ID字段。
customers:
+----+---------+----------+
| id | name | address |
+----+---------+----------+
| 1 | John | London |
| 2 | Michael | New York |
| 3 | Sarah | London |
+----+---------+----------+
orders:
+----+-------+--------+
| id | price | custid |
+----+-------+--------+
| 1 | 1000 | 2 |
| 2 | 800 | 1 |
| 3 | 900 | 1 |
| 4 | 850 | 3 |
+----+-------+--------+
当我们想要以客户ID为键将这两个表连接起来时,可以使用以下查询:
SELECT customers.name, orders.price
FROM customers
INNER JOIN orders
ON customers.id = orders.custid;
查询结果如下:
+---------+-------+
| name | price |
+---------+-------+
| John | 800 |
| John | 900 |
| Michael | 1000 |
| Sarah | 850 |
+---------+-------+
上面的查询返回了匹配符合条件的customers表和orders表中数据的结果,即按照客户ID连接起来后的数据。
请注意,此查询使用了INNER JOIN
语句来指定内连接。ON
语句用于指定连接条件。
SQL内连接非常强大,它可以将多个表连接在一起,便于各种数据操作。