sql - 脑筋急转弯 SQL

标签 sql sql-server tsql

我一直在尝试回答 http://www.sql-ex.ru/learn_exercises.php#answer_ref 上的问题最近因为我是 sql 的新手,你可以从我之前关于 sql 的帖子中看到。我遇到了这个问题:

Exercise: 23 Find the makers producing at least both a pc having speed not less than 750 MHz and a laptop having speed not less than 750 MHz. Result set: Maker



以下是我的答案,这是不正确的,因为它使用了 or。任何人都可以通过给我一个搜索链接或我应该使用什么连接来指导我走向一个好的方向。
  SELECT pt.maker    
    FROM product pt, 
         laptop l, 
         pc    
   WHERE (pt.model = pc.model 
     AND pc.speed >=750) 
      OR (pt.model = l.model 
     AND l.speed >=750)
GROUP BY pt.maker

最佳答案

关闭,如果表和列定义正确(我没有该站点的登录名),它应该是这样的:

SELECT distinct pt_pc.maker
FROM  
  laptop l 
    inner join product pt_l on pt_l.model=l.model, 
  pc
    inner join product pt_pc on pt_pc.model=pc.model
WHERE pc.speed >=750 and l.speed >=750 and pt_l.maker=pt_pc.maker

所以基本上你想要一台速度 >=750 的电脑和一台速度 >=750 的笔记本电脑,由同一个人制造。

关于sql - 脑筋急转弯 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5899424/

相关文章:

sql - DELETE QUERY 第一次运行缓慢,但第二次(对于相同条件)运行速度很快 - 如何在第一次运行时使查询快速运行?

mysql查询以降序从表中减去

MySQL 如果不为空

sql - 当您设置存储过程级别时, View 的隔离级别是多少?

mysql - 选择记录条件随机#MySQL

sql - 映射两个没有关系且没有循环的表

java - 具有 READ COMMITTED 隔离级别的 SQL 并发 'select then update' 模式

sql-server - 脚本的键盘快捷键...创建到...新的查询编辑器窗口

sql - 为什么批量导入比一堆插入更快?

sql-server - 无法通过 EF ExecuteSqlCommand 重建索引