请用SQL语句查询年龄小于平均年龄的作者姓名、图书名、出版社。图书表(图书号,图书名,作者编号,出版社,出版日期)作者表(作者姓名,作者编号,年龄,性别)
时间: 2023-08-22 21:03:36 浏览: 69
好的,以下是SQL语句:
```
SELECT a.author_name, b.book_name, b.publisher
FROM authors a
JOIN books b ON a.author_id = b.author_id
WHERE a.age < (SELECT AVG(age) FROM authors)
```
这条语句将查询年龄小于平均年龄的作者姓名、图书名、出版社。它使用了一个子查询来计算平均年龄,并将其与每个作者的年龄进行比较。JOIN语句用于将作者和他们的书籍连接起来,以便在结果中显示图书名和出版社。
相关问题
请用SQL语句查询年龄小于平均年龄的作者姓名、图书名、出版社。
好的,以下是SQL语句:
```
SELECT a.author_name, b.book_name, b.publisher
FROM authors a
JOIN books b ON a.author_id = b.author_id
WHERE a.age < (SELECT AVG(age) FROM authors)
```
这条语句将查询年龄小于平均年龄的作者姓名、图书名、出版社。它使用了一个子查询来计算平均年龄,并将其与每个作者的年龄进行比较。JOIN语句用于将作者和他们的书籍连接起来,以便在结果中显示图书名和出版社。
用mysql创建一个图书表,包括图书编号、ISBN、书名、作者、出版社、售价
可以使用如下的 SQL 语句创建一个名为 `book` 的图书表:
```sql
CREATE TABLE book (
book_id INT AUTO_INCREMENT PRIMARY KEY,
isbn VARCHAR(20) NOT NULL,
title VARCHAR(255) NOT NULL,
author VARCHAR(255) NOT NULL,
publisher VARCHAR(255) NOT NULL,
price DECIMAL(10, 2) NOT NULL
);
```
这个表包括了以下列:
- `book_id`:图书编号,使用 `AUTO_INCREMENT` 自增长的整数类型,作为主键
- `isbn`:ISBN 号,使用 `VARCHAR(20)` 类型,不允许为空
- `title`:书名,使用 `VARCHAR(255)` 类型,不允许为空
- `author`:作者,使用 `VARCHAR(255)` 类型,不允许为空
- `publisher`:出版社,使用 `VARCHAR(255)` 类型,不允许为空
- `price`:售价,使用 `DECIMAL(10, 2)` 类型,表示最大值为 10 位数,其中 2 位是小数位,不允许为空
你可以根据实际情况修改列名和数据类型。