首页 > 试题广场 >

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 
join 
(select * from student_table where sex = '女')t2 
on  t1.name = t2.name ; 
的结果行数是()?
  • 2
  • 3
  • 4
  • 执行报错
select * from student_table where sex = '男' ) t1 
join 
(select * from student_table where sex = '女')t2 
on  t1.name = t2.name
这个语句的意思是:
把男的拎出来作为t1,把女的拎出来做t2,然后男的姓名和女的姓名一样的话,就把俩表结合起来。
所以出来的条数就是4条,分别为:
两条:张三男 张三女(两个女张三)
两条:李四男 李四女(两个男李四)
发表于 2022-04-04 01:04:59 回复(0)
1*2+2*1共四条
发表于 2021-12-13 09:19:43 回复(5)
1004    张三        1008    张三    
1004    张三        1012    张三    
1009    李四        1011    李四    
1010    李四        1011    李四    
表是这样的
发表于 2022-04-08 10:23:11 回复(0)
join 应该是内连接

发表于 2022-04-01 11:25:05 回复(0)
这考的是外连接查询  left | right | full ,这里就是用到了full(left),就是实现了两个表的结合(应该是男左女右的表)
发表于 2022-03-19 16:32:32 回复(1)
发表于 2024-05-04 13:13:05 回复(0)
join就是内连接,比对t1和t2相同的名字,t1有张三1,李四2。t2有张三2,李四1。合并到一起就是四行。t1少了一个张三。t2少了一个李四。会各自复制自己表里的同名数据。
发表于 2024-02-27 15:46:57 回复(0)
真没看懂

发表于 2022-04-02 21:40:24 回复(0)
张三和李四为男女各两行数据
发表于 2021-12-28 14:36:08 回复(0)