MYSQL复杂数据查询 查询没有借阅书名为“占位符”的书籍的所有学生的姓名和年龄 查询借阅了书名为“占位符”的书籍的所有学生借阅的所有书籍名
时间: 2024-05-08 14:15:18 浏览: 42
1. 查询没有借阅书名为“占位符”的书籍的所有学生的姓名和年龄
```
SELECT s.name, s.age
FROM students s
LEFT JOIN borrow b
ON s.id = b.student_id
LEFT JOIN books bk
ON b.book_id = bk.id
WHERE bk.name != '占位符'
```
2. 查询借阅了书名为“占位符”的书籍的所有学生借阅的所有书籍名
```
SELECT s.name, bk.name
FROM students s
INNER JOIN borrow b
ON s.id = b.student_id
INNER JOIN books bk
ON b.book_id = bk.id
WHERE bk.name = '占位符'
```
相关问题
mysql创建学生表查询所有男生的数据只需要学生的姓名和年龄
在MySQL中创建一个学生表并查询所有男生的数据,只需要学生的姓名和年龄,可以通过以下步骤实现:
1. 创建学生表:
```sql
CREATE TABLE student (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
age INT,
gender ENUM('男', '女')
);
```
在这个表结构中,我们定义了四个字段:`id` 作为主键,`name` 存储学生姓名,`age` 存储学生年龄,`gender` 存储学生性别。
2. 插入一些示例数据:
```sql
INSERT INTO student (name, age, gender) VALUES ('张三', 20, '男');
INSERT INTO student (name, age, gender) VALUES ('李四', 19, '男');
INSERT INTO student (name, age, gender) VALUES ('王五', 21, '女');
```
3. 查询所有男生的姓名和年龄:
```sql
SELECT name, age FROM student WHERE gender = '男';
```
这个查询语句会返回性别字段为男的所有学生记录中的姓名和年龄。
查询借阅状态为借阅的图书的书号和条码mysql语句
假设你的借阅表名为 `borrow`,图书表名为 `book`,其中 `borrow` 表有 `book_id` 和 `barcode` 两个字段表示借阅的图书编号和条码,而 `book` 表有一个 `status` 字段表示图书的借阅状态(借阅为1,归还为0),则查询语句可以如下编写:
```
SELECT borrow.book_id, borrow.barcode
FROM borrow
JOIN book ON borrow.book_id = book.book_id
WHERE book.status = 1;
```
这个查询语句使用了 INNER JOIN 来连接 borrow 和 book 两个表,并且通过 WHERE 条件来筛选出借阅状态为 1 的图书,最终返回图书编号和条码。
阅读全文