考试报名
考试报名
考试内容
考试大纲
在线客服
返回顶部

备考刷题,请到

CDA认证小程序

以下是某电商平台用于记录交易行为与交易详情信息的订单表与订单详情表,请根据表中信息回答以下问题: (2)两表连接后使用左连接进行查询后的总行数是____
A. 5
B. 6
C. 4
D. 8
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(1)

使用订单ID连接两表后,左表订单表为主表时,a01项一行,a02项一行,a03项两行,共4行连接结果

要回答这个问题,我们需要了解订单表和订单详情表的结构以及它们之间的关系。假设订单表(orders)和订单详情表(order_details)分别如下:

订单表(orders):
| 订单ID | 用户ID | 订单日期 |
|--------|--------|----------|
| 1 | 101 | 2023-01-01 |
| 2 | 102 | 2023-01-02 |
| 3 | 103 | 2023-01-03 |
| 4 | 104 | 2023-01-04 |

订单详情表(order_details):
| 订单详情ID | 订单ID | 商品ID | 数量 |
|------------|--------|--------|------|
| 1 | 1 | 1001 | 2 |
| 2 | 1 | 1002 | 1 |
| 3 | 2 | 1003 | 1 |
| 4 | 3 | 1004 | 5 |
| 5 | 3 | 1005 | 2 |

左连接(LEFT JOIN)操作是基于订单表(orders)和订单详情表(order_details)的“订单ID”字段进行连接的。左连接会保留左表(orders)中的所有记录,并将右表(order_details)中与左表匹配的记录连接在一起。如果右表中没有匹配的记录,则结果集中相应字段会显示为NULL。

进行左连接后的查询结果如下:
```
SELECT orders.订单ID, orders.用户ID, orders.订单日期, order_details.订单详情ID, order_details.商品ID, order_details.数量
FROM orders
LEFT JOIN order_details ON orders.订单ID = order_details.订单ID
```

连接后的结果表:
| 订单ID | 用户ID | 订单日期 | 订单详情ID | 商品ID | 数量 |
|--------|--------|------------|------------|--------|------|
| 1 | 101 | 2023-01-01 | 1 | 1001 | 2 |
| 1 | 101 | 2023-01-01 | 2 | 1002 | 1 |
| 2 | 102 | 2023-01-02 | 3 | 1003 | 1 |
| 3 | 103 | 2023-01-03 | 4 | 1004 | 5 |
| 3 | 103 | 2023-01-03 | 5 | 1005 | 2 |
| 4 | 104 | 2023-01-04 | NULL | NULL | NULL |

可以看到,订单ID为4的记录在订单详情表中没有对应的记录,因此连接后相应的字段显示为NULL。

因此,左连接后的总行数是6行。

正确答案是:B. 6

用户114381
解说有问题?