首页 > 试题广场 >

Mysql中表student_table(id,name,b

[单选题]
Mysql中表student_table(id,name,birth,sex),插入如下记录:
('1004' , '张三' ,'2000-08-06' , '男');
('1009' , '李四', '2000-01-01', '男');
('1010' , '李四', '2001-01-01', '男');
('1006' , '王五', '2000-08-06' , '女');
('1008' , '张三', '2002-12-01', '女');
('1012' , '张三', '2001-12-01', '女');
('1011' , '李四', '2002-08-06' , '女');
执行
select t1.*,t2.*
from (
select * from student_table where sex = '男' ) t1 
left join 
(select * from student_table where sex = '女')t2 
on  t1.name = t2.name ; 
的结果行数是()?
  • 4
  • 3
  • 2
  • 5
就是相同名字的男生与相同名字的女生连接一个张三男对应两个张三女,是两行,两个李四男对应一个李四女,也是两行,一共四行
发表于 2021-12-20 15:05:37 回复(3)

left join 通俗的解释:以左表为主表,返回左表的所有行,如果右表中没有匹配,则依然会有左表的记录,右表字段用null填充。

发表于 2022-03-02 22:08:34 回复(0)
发表于 2022-01-20 17:21:33 回复(0)
相同名字的男生和相同名字的女生连。一个张三男对应两个张三女,两个李四男对一个李四女,共四行
发表于 2022-02-11 11:42:38 回复(0)
这个题如果是用right join结果是不是也是四行?
发表于 2022-01-22 19:47:16 回复(4)
男1个张三*女2个张三 + 男2个李四*女1个李四
一共四行
我忘了看女生还有张三了
发表于 2022-06-28 18:01:17 回复(0)
左连接,男生是左表,女生是右表
从男生表中逐行取数据,与女生表中姓名做匹配
发表于 2022-06-03 09:57:04 回复(0)
建了个表执行查询是6行,我不李姐
发表于 2022-01-07 14:08:21 回复(2)
on有多个键匹配的时候会产生笛卡尔积
编辑于 2024-01-21 05:12:38 回复(0)
不懂就问,如果是right连接(left改成right),用笛卡尔积就不能判断了吧,2*1+1*2+1*0=0,实际应该是5
发表于 2023-08-09 13:09:14 回复(1)
因为是左链接 是以左表t1 表为主,t1的张三男对应两条张三女时会自动填充一条对应数据,同样t1表中有两条李四男,t2也需要填充
发表于 2022-10-17 10:24:04 回复(0)
?
发表于 2022-08-03 21:10:05 回复(0)
发表于 2021-12-31 22:52:36 回复(0)