如果有人让我度过这个麻烦,我会很高兴
我有两个名字员工和借来的表
employee:
id firstname lastname birthdate
1 John Smith 1976-01-02
2 Laura Jones 1969-09-05
3 Jane Green 1967-07-15
borrowed
ref employeeid book
1 1 Simply SQL
2 2 Ultimate HTML Reference
3 1 Ultimate CSS Reference
4 3 Art and Science of JavaScript
我的问题是:我如何检索借用该书的人的名字" Javascript的艺术与科学"
这是我失败的sql代码。
SELECT book FROM borrowed
JOIN employee ON employee.id=borrowed.employeeid
WHERE borrowed.book='Art and Science of Javascript';
在我期待你的帮助之前提前致谢。
答案 0 :(得分:1)
你几乎就在那里,你需要做的就是SELECT employee.firstname
和employee.lastname
这应该这样做:
SELECT e.firstname, e.lastname
FROM employee e
JOIN borrowed b ON e.id=b.employeeid
WHERE b.book='Art and Science of Javascript';
如果您想在单列中同时使用名字和姓氏,那么您可以使用MySQL的CONCAT
功能,例如:
SELECT CONCAT(employee.firstname, ' ', employee.lastname) AS name FROM..
更新您还可以使用子查询获得相同的结果,例如:
SELECT CONCAT(firstname, ' ', lastname) AS name
FROM employee WHERE id IN (
SELECT employeeid
FROM borrowed
WHERE book = 'Art and Science of Javascript'
);
答案 1 :(得分:1)
除了选择部分之外,您的查询看起来很好。
SELECT firstname,lastname FROM borrowed
JOIN employee ON employee.id=borrowed.employeeid
WHERE borrowed.book='Art and Science of Javascript';
如果对表名使用别名会更好,但除了select子句
之外,当前代码是正确的