SQL题目:
一个表team,里面只有一个字段name, 一共有4条纪录,分别是a,b,c,d, 对应四个球队,现在四个球队进行比赛,
用一条sql语句显示所有可能的比赛组合。
解决:
数据库版本:Oracle 11g
--创建表和插入数据
create table team(name varchar2(30));
insert into team values('a');
insert into team values('b');
insert into team values('c');
insert into team values('d');
commit;
思路:
使用笛卡尔积连接,并使当前大小值只与比它大的值连接。
--SQL语句
select a.name aname
, b.name bname
from team a, team b
where a.name < b.name;
结果:
ANAME BNAME
a b
a c
a d
b c
b d
c d