很抱歉,我不知道如何格式化,因此看起来很可读。
这是我的任务:查找价格高于至少一本HOR类型书籍价格的每本图书的图书代码和图书标题。
这是我到目前为止提出的第一个问题:
select b.book_code, b.title, b.price from book b
inner join book b1 on b.price > b1.price
where b.type = 'HOR';
我的表格如下:
块引用
mysql> describe book;
+----------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+-------+
| BOOK_CODE | char(4) | NO | PRI | NULL | |
| TITLE | char(40) | YES | | NULL | |
| PUBLISHER_CODE | char(3) | YES | | NULL | |
| TYPE | char(3) | YES | | NULL | |
| PRICE | decimal(4,2) | YES | | NULL | |
| PAPERBACK | char(1) | YES | | NULL | |
+----------------+--------------+------+-----+---------+-------+
6 rows in set (0.09 sec)
块引用
感谢您的帮助。
以下是我的查询返回的内容:
mysql> select b.book_code, b.title, b.price from book b
-> inner join book b1 on b.price > b1.price
-> where b.type = 'HOR';
+-----------+-----------------------+-------+
| book_code | title | price |
+-----------+-----------------------+-------+
| 0189 | Magic Terror | 7.99 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 9611 | Black House | 18.81 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 9611 | Black House | 18.81 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 9611 | Black House | 18.81 |
| 0189 | Magic Terror | 7.99 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 9611 | Black House | 18.81 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 9611 | Black House | 18.81 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 9611 | Black House | 18.81 |
| 0189 | Magic Terror | 7.99 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 9611 | Black House | 18.81 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 9611 | Black House | 18.81 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 9611 | Black House | 18.81 |
| 0189 | Magic Terror | 7.99 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 9611 | Black House | 18.81 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 9611 | Black House | 18.81 |
| 0189 | Magic Terror | 7.99 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 9611 | Black House | 18.81 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 9611 | Black House | 18.81 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 9611 | Black House | 18.81 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 9611 | Black House | 18.81 |
| 0189 | Magic Terror | 7.99 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 9611 | Black House | 18.81 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 9611 | Black House | 18.81 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 9611 | Black House | 18.81 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 9611 | Black House | 18.81 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 9611 | Black House | 18.81 |
| 0189 | Magic Terror | 7.99 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 9611 | Black House | 18.81 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 9611 | Black House | 18.81 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 9611 | Black House | 18.81 |
| 0189 | Magic Terror | 7.99 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 9611 | Black House | 18.81 |
| 0189 | Magic Terror | 7.99 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 9611 | Black House | 18.81 |
| 1351 | Dreamcatcher: A Novel | 19.60 |
| 9611 | Black House | 18.81 |
+-----------+-----------------------+-------+
62 rows in set (0.00 sec)
mysql>
答案 0 :(得分:0)
SELECT `BOOK_CODE`, `TITLE`
FROM
`Books`
WHERE `PRICE` >
(
SELECT
MIN(`PRICE`)
FROM
`Books`
WHERE
`TYPE` = 'HOR';
) AS sq
这应该选择书籍代码和标题WHERE
,价格大于HOR类型书籍的最低价格。
答案 1 :(得分:0)
我会尝试这样的事情。
select b.book_code, b.title, b.price
from book b
where b.price > (select min(book.prince) from book where book.type = 'HOR')
答案 2 :(得分:0)
“技巧”是在where子句中使用子查询,如下所示:
select b.book_code, b.title, b.price
from book b
where b.price > (select min(price) from book where type = 'HOR');
答案 3 :(得分:0)
使用嵌套查询。
Select book_code, title, price from book
where price > (select min(price) from book where type = "HOR");
答案 4 :(得分:0)
回答子查询:
select b.book_code, b.title, b.price from book b
WHERE b.price > (SELECT MIN(price) FROM book WHERE type = 'HOR');
select b.book_code, b.title, b.price from book b
WHERE b.price > ANY(SELECT price FROM book WHERE type = 'HOR');
select b.book_code, b.title, b.price from book b
WHERE EXISTS (SELECT 1 from book b1 WHERE b1.type = 'HOR' AND b.price > b1.price);