【问题标题】:SQL help to make a particular select statement for a tableSQL 帮助为表创建特定的选择语句
【发布时间】:2019-05-31 05:00:20
【问题描述】:
CREATE TABLE person (
  id INTEGER PRIMARY KEY,
  first_name TEXT,
  last_name TEXT,
  age INTEGER
);

INSERT INTO person VALUES (0, 'Pat', 'Johnson', 25);
INSERT INTO person VALUES (1, 'John', 'Wells', 28);

所以我有一个名为 person 的表,我试图查询所有比Pat Johnson 更年轻的人​​,但我不想通过硬编码来查询它。

SELECT first_name, last_name FROM person WHERE age < 25;

^^^ 这是我不想做的一个例子。

【问题讨论】:

    标签: sql sqlite select


    【解决方案1】:

    您可以尝试使用子查询

    SELECT first_name, last_name FROM person 
    WHERE age<(select age from person where first_name='Pat' and last_name='Johnson')
    

    【讨论】:

      【解决方案2】:

      我们可以尝试反连接方法:

      SELECT t1.first_name, t1.last_name
      FROM yourTable t1
      LEFT JOIN yourTable t2
          ON t1.age > t2.age AND
             t2.first_name = 'Pat' AND
             t2.last_name = 'Johnson'
      WHERE
          t2.first_name IS NULL;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-31
        • 2011-07-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多