m0_74788378 2023-05-25 15:09 采纳率: 86.2%
浏览 32
已结题

多表连接查询我的语句哪里错了呢

查找加入了爱电影或者摄影家协会社团的职工的姓名和年龄,结果按照年龄的降序和职工号的升序排列。下面是我的查询语句,

img

  • 写回答

3条回答 默认 最新

  • yannan20190313 2023-05-25 16:03
    关注

    1、"职工信息"表 和“社团信息”表,不涉及“参加信息”表吧?
    把ON后面的"参加信息"改成"职工信息";
    2、“社团名称"是"爱电影"或者"摄影家协会"?
    把WHERE那句改成,WHERE "社团信息"."社团名称" in ("爱电影","摄影家协会")
    3、按年龄的降序和职工号的升序排列:
    在最后加一行,ORDER BY "职工信息". "年龄" DESC,"职工信息". "编号";
    多张表使用别名,就不用输入那么多表名。

    SELECT a. "职工姓名",a. "年龄"
    FROM "职工信息" a
    JOIN "社团信息" b ON a. "编号"=b. "编号"
    WHERE b. "社团名称" in ("爱电影","摄影家协会")
    ORDER BY a. "年龄" DESC, a. "编号";
    

    还可以用更简洁的写法:

    SELECT a. "职工姓名", a. "年龄"
    FROM "职工信息" a, "社团信息" b
    WHERE a. "编号"=b. "编号" AND b. "社团名称" in ("爱电影","摄影家协会")
    ORDER BY a. "年龄" DESC, a. "编号";
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月6日
  • 已采纳回答 5月29日
  • 创建了问题 5月25日