sqlite3 join语句

sqlite3 join语句


2024年1月20日发(作者:)

sqlite3 join语句

一、什么是JOIN语句

JOIN是SQL中用于合并两个或多个表的操作。它通过使用共同的列将相关的行组合在一起,从而实现数据的联接。在SQLite中,JOIN语句有多种类型,包括INNER JOIN、LEFT JOIN、RIGHT

JOIN和FULL JOIN等。

二、INNER JOIN

INNER JOIN也称为等值连接,它返回两个表中满足连接条件的所有行。以下是INNER JOIN的几种常见用法:

1. 查询订单表和客户表,返回订单表中所有的订单号、客户姓名和订单日期:

```sql

SELECT D, erName,

ate

FROM Orders

INNER JOIN Customers

ON erID = erID;

```

2. 查询订单表和产品表,返回订单表中所有的订单号、产品名称和产品价格:

```sql

SELECT

FROM Orders

INNER JOIN Products

ON tID = tID;

```

D, tName,

3. 查询订单表和客户表,返回订单表中所有的订单号、客户姓名和订单日期,但只包括客户表中存在的客户:

```sql

SELECT D, erName,

ate

FROM Orders

INNER JOIN Customers

ON erID = erID

WHERE erID IS NOT NULL;

```

4. 查询订单表和产品表,返回订单表中所有的订单号、产品名称和产品价格,但只包括产品表中存在的产品:

```sql

SELECT D, tName,

FROM Orders

INNER JOIN Products

ON tID = tID

WHERE tID IS NOT NULL;

```

5. 查询订单表和产品表,返回订单表中所有的订单号、产品名称和产品价格,但只包括订单表和产品表中都存在的订单:

```sql

SELECT

FROM Orders

INNER JOIN Products

ON tID = tID

WHERE tID IS NOT NULL;

```

D, tName,

三、LEFT JOIN

LEFT JOIN也称为左连接,它返回左表中的所有行,以及右表中满足连接条件的行。如果右表中没有匹配的行,则返回NULL值。以下是LEFT JOIN的几种常见用法:

1. 查询订单表和客户表,返回订单表中所有的订单号、客户姓名和订单日期,如果客户表中没有对应的客户,则返回NULL值:

```sql

SELECT D, erName,

ate

FROM Orders

LEFT JOIN Customers

ON erID = erID;

```

2. 查询订单表和产品表,返回订单表中所有的订单号、产品名称和产品价格,如果产品表中没有对应的产品,则返回NULL值:

```sql

SELECT

FROM Orders

LEFT JOIN Products

ON tID = tID;

```

D, tName,

3. 查询订单表和客户表,返回订单表中所有的订单号、客户姓名和订单日期,如果客户表中没有对应的客户,则返回NULL值,但只包括客户表中存在的客户:

```sql

SELECT D, erName,

ate

FROM Orders

LEFT JOIN Customers

ON erID = erID

WHERE erID IS NOT NULL;

```

4. 查询订单表和产品表,返回订单表中所有的订单号、产品名称和产品价格,如果产品表中没有对应的产品,则返回NULL值,但只包括产品表中存在的产品:

```sql

SELECT

FROM Orders

LEFT JOIN Products

ON tID = tID

WHERE tID IS NOT NULL;

```

D, tName,

5. 查询订单表和产品表,返回订单表中所有的订单号、产品名称和产品价格,如果订单表中没有对应的订单,则返回NULL值,但只

包括订单表中存在的订单:

```sql

SELECT

FROM Orders

LEFT JOIN Products

ON tID = tID

WHERE tID IS NOT NULL;

```

D, tName,

四、RIGHT JOIN

RIGHT JOIN也称为右连接,它返回右表中的所有行,以及左表中满足连接条件的行。如果左表中没有匹配的行,则返回NULL值。以下是RIGHT JOIN的几种常见用法:

1. 查询订单表和客户表,返回客户表中所有的客户姓名、订单号和订单日期,如果订单表中没有对应的订单,则返回NULL值:

```sql

SELECT erName, D,

ate

FROM Customers

RIGHT JOIN Orders

ON erID = erID;

```

2. 查询订单表和产品表,返回产品表中所有的产品名称、订单号和产品价格,如果订单表中没有对应的订单,则返回NULL值:

```sql

SELECT

FROM Products

RIGHT JOIN Orders

ON tID = tID;

```

tName, D,

3. 查询订单表和客户表,返回客户表中所有的客户姓名、订单号和订单日期,如果订单表中没有对应的订单,则返回NULL值,但只包括订单表中存在的订单:

```sql

SELECT erName, D,

ate

FROM Customers

RIGHT JOIN Orders

ON erID = erID

WHERE erID IS NOT NULL;

```

4. 查询订单表和产品表,返回产品表中所有的产品名称、订单号和产品价格,如果订单表中没有对应的订单,则返回NULL值,但只包括订单表中存在的订单:

```sql

SELECT

FROM Products

RIGHT JOIN Orders

ON tID = tID

WHERE tID IS NOT NULL;

```

tName, D,

5. 查询订单表和产品表,返回产品表中所有的产品名称、订单号和产品价格,如果产品表中没有对应的产品,则返回NULL值,但只包括产品表中存在的产品:

```sql

SELECT

FROM Products

RIGHT JOIN Orders

ON tID = tID

WHERE tID IS NOT NULL;

tName, D,

```

五、FULL JOIN

FULL JOIN也称为全连接,它返回左表和右表中的所有行,并将满足连接条件的行组合在一起。如果左表或右表中没有匹配的行,则返回NULL值。以下是FULL JOIN的几种常见用法:

1. 查询订单表和客户表,返回订单表和客户表中所有的订单号、客户姓名和订单日期,如果订单表或客户表中没有对应的记录,则返回NULL值:

```sql

SELECT D, erName,

ate

FROM Orders

FULL JOIN Customers

ON erID = erID;

```

2. 查询订单表和产品表,返回订单表和产品表中所有的订单号、产品名称和产品价格,如果订单表或产品表中没有对应的记录,则返回NULL值:

```sql

SELECT D, tName,

FROM Orders

FULL JOIN Products

ON tID = tID;

```

3. 查询订单表和客户表,返回订单表和客户表中所有的订单号、客户姓名和订单日期,如果订单表或客户表中没有对应的记录,则返回NULL值,但只包括订单表和客户表中存在的记录:

```sql

SELECT D, erName,

ate

FROM Orders

FULL JOIN Customers

ON erID = erID

WHERE erID IS NOT NULL OR

erID IS NOT NULL;

```

4. 查询订单表和产品表,返回订单表和产品表中所有的订单号、产品名称和产品价格,如果订单表或产品表中没有对应的记录,则返回NULL值,但只包括订单表和产品表中存在的记录:

```sql

SELECT

FROM Orders

D, tName,

FULL JOIN Products

ON tID = tID

WHERE tID IS NOT NULL OR

tID IS NOT NULL;

```

5. 查询订单表和产品表,返回订单表和产品表中所有的订单号、产品名称和产品价格,如果订单表和产品表中没有对应的记录,则返回NULL值,但只包括订单表和产品表中存在的记录:

```sql

SELECT

FROM Orders

FULL JOIN Products

D, tName,


发布者:admin,转转请注明出处:http://www.yc00.com/news/1705739585a1420154.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信