SELECT
books.ID ,
books.BOOKNAME ,
books.EXPRESS ,
books.AUTHOR
FROM
books
WHERE
books.ID =
(SELECT
borrowed_book.BOOKID
FROM
borrowed_book
WHERE
borrowed_book.ID = '1')
当后面那个SELECT语句返回的值不是一个的时候,我该怎么写这个联查语句啊,请大家帮帮忙,谢谢。
books.ID ,
books.BOOKNAME ,
books.EXPRESS ,
books.AUTHOR
FROM
books
WHERE
books.ID =
(SELECT
borrowed_book.BOOKID
FROM
borrowed_book
WHERE
borrowed_book.ID = '1')
当后面那个SELECT语句返回的值不是一个的时候,我该怎么写这个联查语句啊,请大家帮帮忙,谢谢。
SELECT
books.ID ,
books.BOOKNAME ,
books.EXPRESS ,
books.AUTHOR
FROM
books
WHERE
books.ID in
(SELECT
borrowed_book.BOOKID
FROM
borrowed_book
WHERE
borrowed_book.ID = '1')
select a.id,a.bookname,a.express,a.author from books as a inner join borrowed_book as b on (a.id = b.bookid and b.id = '1');
JOIN
还有=SOME 都是常见的方法,建议看一下SQL的基础《数据库系统概论(第三版)》.
[align=center]==== 思想重于技巧 ====
[/align]
.
贴子分数<20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.
WHERE
books.ID in (SELECT borrowed_book.BOOKID FROM borrowed_book WHERE borrowed_book.ID = '1')or如两表以ID做为连接
SELECT books.ID ,books.BOOKNAME ,books.EXPRESS ,books.AUTHOR FROM books
inner join borrowed_book
ON books.ID=borrowed_book.BOOKID
WHERE borrowed_book.ID = '1'后者的效率高一些