数据库中有两个表:
球队表
ID    name
1     湖人
2     火箭
3    骑士
。。比赛表:id  主队ID   客队ID
1    1         2
2    1          3
3    2          3现在要查询出来比赛类表
如:
湖人   火箭
湖人   骑士
火箭   骑士
应该如何写这个SQL语句呢?

解决方案 »

  1.   

    select a.id,b.name,c.name from  比赛表 a, 球队表 b, 球队表 c where a.主队ID =b.id and a.客队ID =b.id;
      

  2.   

    select a.id,b.name,c.name from  比赛表 a, 球队表 b, 球队表 c
     where a.主队ID =b.id and a.客队ID =c.id;
      

  3.   

    select b.name,c.name
    from 比赛表 a inner join 球队表 b on a.主队ID=b.ID
    inner join 球队表 c on a.客队ID=c.ID
      

  4.   


    create table `球队表`(
    `ID` int,
    `name` varchar(4)
    );
    insert `球队表` values(1,'湖人');
    insert `球队表` values(2,'火箭');
    insert `球队表` values(3,'骑士');create table `比赛表`(
    `id` int,
    `主队ID` int,
    `客队ID` int
    );
    insert `比赛表` values(1,1,2);
    insert `比赛表` values(2,1,3);
    insert `比赛表` values(3,2,3);select 
      a.id,
      b.name,
      c.name
    from 比赛表 a
    join 球队表 b on a.主队ID=b.id
    join 球队表 c on a.客队ID=c.id/**
        id  name    name  
    ------  ------  ------
         1  湖人    火箭  
         2  湖人    骑士  
         3  火箭    骑士  
    **/
      
      

  5.   

    select b.name,c.name
    from 比赛表 a inner join 球队表 b on a.主队ID=b.ID
        inner join 球队表 c on a.客队ID=c.ID