MYSQL-在图书表表基础上进行子查询:(8)列出其他出版社中图书价格高于任何出版社为“陕西师范大学出版社”的图书价格的图书编号、名称和价格
时间: 2024-03-10 08:50:17 浏览: 201
spring-data-rest-security-bootstrap-table-crud:spring-boot RepositoryRestResource安全引导表表
假设图书表的结构和数据如下:
```mysql
CREATE TABLE books (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100) NOT NULL,
author VARCHAR(50) NOT NULL,
price DECIMAL(8,2) NOT NULL,
publisher VARCHAR(50) NOT NULL
);
INSERT INTO books (title, author, price, publisher) VALUES
('MySQL入门与精通', '张三', 59.90, '清华大学出版社'),
('Java编程思想', 'Bruce Eckel', 108.00, '机械工业出版社'),
('Python数据分析与挖掘实战', '李四', 89.00, '人民邮电出版社'),
('深入浅出Node.js', '朱一凡', 59.00, '电子工业出版社'),
('算法图解', 'Aditya Bhargava', 49.90, '陕西师范大学出版社'),
('C程序设计语言', 'Brian W. Kernighan, Dennis M. Ritchie', 32.00, '电子工业出版社'),
('数据结构与算法分析', 'Mark Allen Weiss', 59.90, '清华大学出版社');
```
可以使用子查询来实现该问题。
```mysql
SELECT id, title, price FROM books
WHERE price > (SELECT MAX(price) FROM books WHERE publisher = '陕西师范大学出版社')
AND publisher != '陕西师范大学出版社';
```
该查询语句的含义是:先在子查询中查出“陕西师范大学出版社”中价格最高的图书,然后在主查询中查出价格高于该书价格、且出版社不是“陕西师范大学出版社”的图书编号、名称和价格。
阅读全文