SQL专项练习22

-- Mysql中表student_table(id,name,birth,sex),插入如下记录:

('1001' , '' , '2000-01-01' , '男');
('1002' , null , '2000-12-21' , '男');
('1003' , NULL , '2000-05-20' , '男');
('1004' , '张三' , '2000-08-06' , '男');
('1005' , '李四' , '2001-12-01' , '女');
('1006' , '张三' , '2001-12-02' , '女');

-- 执行
 select t1.name ,t2.name from 
 (select * from student_table where sex = '女') t1 
 left join 
 (select * from student_table where sex = '男') t2 
 on t1.name = t2.name  where t2.name is null 
 union
 select t1.name ,t2.name from 
 (select * from student_table where sex = '女') t1 
 right join 
 (select * from student_table where sex = '男') t2 
 on t1.name = t2.name  where t1.name is null;

结果

李四,null

union

null, ''

null, null

null, NULL

去重后的结果有三行

SQL专项练习 文章被收录于专栏

SQL专项每日练习,错题

全部评论

相关推荐

AFBUFYGRFHJLP:直接去美帝试试看全奖phd吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务