给出一个表如何解决查询

时间:2016-12-09 01:58:57

标签: sql

我正在处理以下查询,但似乎我没有做对。我很感激你的帮助。

CREATE TABLE foo (
  fid   INTEGER   PRIMARY KEY,  
  weight  FLOAT   NOT NULL  COMMENT "(kg)")

CREATE TABLE bar (
  bid INTEGER,
  fid INTEGER,
  height FLOAT NOT NULL COMMENT "(attoparsecs)",
  PRIMARY KEY (bid),
  FOREIGN KEY (fid) REFERENCES foo)

请注意,条形图中的fid可能为NULL。

(1)编写SQL查询以列出没有匹配foos的条形的所有属性。

(2)编写第二个查询以列出没有任何匹配条的foos的所有属性。

我尝试了什么:

SELECT * FROM bar LEFT JOIN foo ON bar.fid = foo.fid
WHERE foo.fid IS NULL;

SELECT * FROM foo LEFT JOIN bar ON foo.fid = bar.fid
WHERE bar.fid IS NULL;

1 个答案:

答案 0 :(得分:0)

尝试这个...

(1)编写SQL查询以列出没有匹配元素的条形图的所有属性。

select * from bar where fid NOT IN (select fid from foo) or fid is null

(2)写下第二个查询,列出没有任何匹配条的foos的所有属性

select * from foo where fid NOT IN (select distinct fid from bar)