可以在没有子查询的情况下实现预期结果吗?也许使用联接?
我们有一个名字叫“ jose”,预期的结果是所有与jose颜色相同的行。查询应同时在MS-SQL和ORACLE中运行。
query
======
select name,color from tableA where color=(select color from tableA where name='jose')
Expected result
===============
name color
jose red
Rap red
schema
=======
Table and DATA
create table tableA (
name varchar(10),
color varchar(10)
);
insert into tableA values ('jose','red');
insert into tableA values ('Mickey','blue');
insert into tableA values ('Leo','yellow');
insert into tableA values ('Rap','red');
insert into tableA values ('Don','blue');
JOIN通过在color字段上进行自我连接,可以使用来获得此结果,其中第二个表中的名称为jose:
SELECT a1.name, a1.color
FROM tableA a1
JOIN tableA a2 ON a2.color = a1.color AND a2.name = 'jose'
输出量
name color
jose red Rap red
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。