· 8 years ago · Jun 23, 2018, 03:02 AM
1drop table if exists team;
2
3create table team
4(
5team_id int not null auto_increment primary key,
6team_name varchar(32) not null
7);
8
9insert into team (team_name) values ('A team'), ('B team'), ('C team'), ('D team');
10
11select
12 home_team_id,
13 home_team_name,
14 away_team_id,
15 away_team_name
16from
17(
18select
19 team_id as home_team_id,
20 team_name as home_team_name
21from
22 team as home
23) h
24cross join
25(
26select
27 team_id as away_team_id,
28 team_name as away_team_name
29from
30 team as away
31) a on h.home_team_id <> a.away_team_id
32order by
33h.home_team_id, a.away_team_id
34
35/*
36
37home_team_id * home_team_name * away_team_id * away_team_name *
38 1 A team 2 B team
39 1 A team 3 C team
40 1 A team 4 D team
41
42 2 B team 1 A team
43 2 B team 3 C team
44 2 B team 4 D team
45
46 3 C team 1 A team
47 3 C team 2 B team
48 3 C team 4 D team
49
50 4 D team 1 A team
51 4 D team 2 B team
52 4 D team 3 C team
53*/