如何正确编写带有WHERE子句的SQL查询?

时间:2014-11-08 15:51:41

标签: mysql sql database

编写此sql查询的正确方法是什么

select * from articles where id = 1;
select * from users where id = user_id in articles table;

我的问题是如何正确编写第二个sql语句

3 个答案:

答案 0 :(得分:1)

从你的问题我无法理解你真正想要的是什么。我认为你需要内部连接两个表。下面的查询将通过连接两个表来为您提供结果,并且它将认为ARTICLES表中的USER_ID列表示USERS中的ID列。

SELECT * FROM USERS INNER JOIN ARTICLES ON USERS.ID = ARTICLES.USER_ID WHERE USERS.ID = 1;

答案 1 :(得分:0)

select * from users where user_id in (select id from articles);

在内部进行额外过滤,例如选择文章。同样,取决于要求的结果。

答案 2 :(得分:0)

SELECT * 
FROM articles 
INNER JOIN users ON articles.id = users.user_id 
WHERE id = '1'

或将其用作子查询

SELECT * 
FROM users 
WHERE user_id IN (SELECT ID 
                  FROM articles 
                  WHERE id = '1')