我有一个包含2个表,用户和新闻的数据库。我正在使用这个SQL组合来自两个表的信息:
$news = $db->query('SELECT * FROM news LEFT JOIN users ON users.userid = news.userid')->fetchAll();
这里的问题是我还拖着我没用过的信息,比如密码等。如何限制查询只包含users表中的用户名?
答案 0 :(得分:2)
如果您想要一个表中的所有列,而只需要来自另一个表的选定列,则可以使用tablename.*
获取第一个,并使用tablename.columnname
获取第二个。
SELECT news.*, users.name
FROM news
LEFT JOIN users ON users.userid = news.userid
答案 1 :(得分:1)
正如@Gordon Linoff所说:
$news = $db->query('SELECT news.column1, news.column2, users.name FROM news LEFT JOIN users ON users.userid = news.userid')->fetchAll();