mayeye1989 2015-12-08 06:55 采纳率: 54.5%
浏览 1367
已采纳

为什么图中的SQL代码,from里面不用填其中一个来源表呢?

为什么图中的代码,
子查询里面的from只有orders这个表没有customers这个表呢?

图片说明

我觉得括号里面from应该有customers,是因为我觉得SQL会先运行括号里面的内容.但实际顺序是怎样的呢?

  • 写回答

5条回答 默认 最新

  • DV2 2015-12-08 07:15
    关注

    你这是SELECT里面的子查询,表示用customers.cust_id到orders里面去查找相关的订单数量
    并且这时候的子查询每次SELECT只能是出一个值,不允许在select中的子查询查找出多个值,或者多列值。
    改写为JOIN相当于:

    SELECT  c.cust\_name,
                 c.cust\_state,
                             o.order_cn AS orders
      FROM customers c
        LEFT JOIN (SELECT COUNT(*) AS order_cn,cust_id  
                                FROM orders) o
                ON c.cust_id = o.cust_id
    ORDER BY c.cust\_name
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 Stata 面板数据模型选择
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用