第二十一天作业(最后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;
![](https://img.haomeiwen.com/i2049071/ab713e57ce6c0975.png)
为了方便理解,我专门请教了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 表格都有相关数据的行。如果某个客户没有订单,或者某个订单没有对应的客户,则这些行都不会被返回显示。这个查询就是一个内链接查询,因为只有相关联的行才会被返回。
![](https://img.haomeiwen.com/i2049071/3d509f1fdee4703b.png)
![](https://img.haomeiwen.com/i2049071/2e98b19b0f29f8d0.png)
网友评论