📜  sql 内连接 - SQL (1)

📅  最后修改于: 2023-12-03 15:20:16.465000             🧑  作者: Mango

SQL内连接

在SQL中,连接是通过使用JOIN子句来实现的。内连接是连接中的一种类型,它返回两个表中满足连接条件的记录。

内连接只返回左侧表和右侧表中匹配的行。 如果没有匹配的行,则不返回它们。 内连接可以使用多个表进行连接。

以下是SQL内连接的语法:

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;

上面的语法中,table1table2是要连接的两个表的名称。 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内连接非常强大,它可以将多个表连接在一起,便于各种数据操作。