824.【技术】常见mysql命令21天打卡-第二十一天

2023-05-15  本文已影响0人  马幸运

第二十一天作业(最后1天,结业) ,

1)把表idoxu6,改完idoxu

2)删除库 istesterdb6

3)删除istester表

4)清空idoxu表的数据

第二十天作业参考答案:
多表(左链接、右链接、内链接)
表 idoxu6 和 表istester

注:主要目的是熟悉这三种玩法,以及观察结果差异 ;

左连接

select * from idoxu6 a left join istester b on a.tu_id = b.id;

内连接

select * from idoxu6 a inner join istester b on a.stu_id=b.id;

右连接

select * from idoxu6 a  right join istester b on a.stu_id  = b.id;
left

为了方便理解,我专门请教了charGTP,目前我是看懂这三者的区别了。

mysql中多表的左链接、右链接、内链接,请通过具体的sql语句举例说明三者的区别

假设有两个表格,customers和orders,它们之间存在一对多的关系,即一个客户可以有多个订单。下面是三个示例SQL语句,用于演示多表的左链接、右链接、内链接的区别。

左链接示例:
Copy code
SELECT *
FROM customers
LEFT JOIN orders
ON customers.customer_id = orders.customer_id;
这个查询将会返回所有的 customers 表格中的行,以及与它们对应的 orders 表格的行。如果某个客户并没有在 orders 表格中有对应的行,则这个客户的 orders 部分将会以 NULL 值显示。这个查询就是一个左链接查询,因为 customers 表格是主表,所有的行都会被保留,而 orders 表格是附表,只有与主表相关联的行才会被返回。

右链接示例:
Copy code
SELECT *
FROM customers
RIGHT JOIN orders
ON customers.customer_id = orders.customer_id;
这个查询将会返回所有的 orders 表格中的行,以及与它们对应的 customers 表格的行。如果某个订单并没有对应的客户,则这个客户的 customers 部分将会以 NULL 值显示。这个查询就是一个右链接查询,因为 orders 表格是主表,所有的行都会被保留,而 customers 表格是附表,只有与主表相关联的行才会被返回。

内链接示例:
Copy code
SELECT *
FROM customers
INNER JOIN orders
ON customers.customer_id = orders.customer_id;
这个查询将会返回只有 customers 表格和 orders 表格都有相关数据的行。如果某个客户没有订单,或者某个订单没有对应的客户,则这些行都不会被返回显示。这个查询就是一个内链接查询,因为只有相关联的行才会被返回。

image.png image.png
上一篇 下一篇

猜你喜欢

热点阅读