数据库 单表查询
2021/5/4 2:25:46
本文主要是介绍数据库 单表查询,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在答案除处粘贴每道题目、以及对应的sql语句。
1.查询图书的名字、出版社、价格
2.查询所有图书的书名和价格上涨20%后的价格,并为涨价后的价格列指定新列名“new_price”
- 查询图书中所有出版社的名字,每个出版社只显示一次
条件查询:
-
查询出版日期在2006年1月1日以后的图书信息
-
查询所有清华大学出版社出版的图书名字、作者、出版社、出版日期
-
查询名字以“计算机”开头的图书信息
-
查询价格在20到30之间的图书信息
8.查询价格在40元以上,或者2006年以后出版的图书名字、作者、出版社、出版日期、价格
9.查询出版社为清华大学出版社、科学出版社的图书名字、出版社、价格
附件为建表的语句,本次实验仅用到图书表,因此只需要创建图书表,并插入图书信息即可。
所需代码如下:
--创建图书数据库 CREATE DATABASE library --使用图书数据库 USE library --创建图书表:book表 CREATE TABLE book ( book_id varchar(8) PRIMARY KEY, book_name varchar(50) NULL, author varchar(30) NULL, press varchar(50) NULL, press_date datetime NULL, flag_borrow varchar(1) NULL, price money NULL ) --创建职员信息表clerk CREATE TABLE clerk ( clerk_id VARCHAR(8) PRIMARY KEY, clerk_name VARCHAR(8) NULL, id_card VARCHAR(18) NULL, clerk_password VARCHAR(30) NULL, officer VARCHAR(30) NULL ) --创建读者信息表reader CREATE TABLE reader ( reader_id VARCHAR(8) PRIMARY KEY, reader_name VARCHAR(8) NULL, id_card VARCHAR(18) NULL, maxnum_can_borrow SMALLINT NULL, flag_borrow VARCHAR(2) NULL ) --创建图书借还信息表borrow CREATE TABLE borrow ( id INT IDENTITY(1,1) NOT NULL, reader_id VARCHAR(8), book_id VARCHAR(8), borrow_date DATETIME NULL, b_clerk_id VARCHAR(8) NULL, r_clerk_id VARCHAR(8) NULL,--还书员工号 return_date DATETIME NULL, flag_return CHAR(2) NULL, CONSTRAINT FK_BORROW_READER FOREIGN KEY(reader_id) REFERENCES reader(reader_id), CONSTRAINT FK_BORROW_BOOK FOREIGN KEY(book_id) REFERENCES book(book_id), CONSTRAINT FK_BORROW_CLERK FOREIGN KEY(b_clerk_id) REFERENCES clerk(clerk_id), CONSTRAINT FK_RETURN_CLERK FOREIGN KEY(r_clerk_id) REFERENCES clerk(clerk_id) ) INSERT INTO BOOK (book_id,book_name,author,press,press_date,flag_borrow,price) VALUES ('13020889','局域网设计教程','王宝智','清华大学出版社','2004-8-1','Y',27.00) INSERT INTO BOOK VALUES ('10201001','操作系统原理','苏光亮','清华大学出版社','2006-8-1','Y',46.00) INSERT INTO BOOK VALUES ('10300649','计算机网络','华陪','科学出版社','2003-7-20','Y',29.00) INSERT INTO BOOK VALUES ('10300715','计算机图形学','刘世光','机械出版社','2005-2-11','Y',30.00) INSERT INTO BOOK VALUES ('10301174','算法设计','刘景','机械出版社','2000-9-1','Y',19.00) INSERT INTO BOOK VALUES ('10310518','计算机组成原理','白中英','科学出版社','2009-12-1','Y',50.00) INSERT INTO BOOK VALUES ('10301210','C语言程序设计','汪大菊','科学出版社','2006-8-1','Y',46.00) INSERT INTO BOOK VALUES ('10301001','软件工程','饶国政','清华大学出版社','2002-8-1','Y',28.00) INSERT INTO BOOK VALUES ('10301215','JAVA程序设计','朱喜福','清华大学出版社','2010-5-1','Y',35.00) --------------------------------- --向读者表中插入数据 --------------------------------- INSERT INTO reader VALUES('093001','刘芳',NULL,5,'Y') INSERT INTO reader VALUES('093002','李玲',NULL,5,'Y') INSERT INTO reader VALUES('093003','王佳宏',NULL,5,'Y') INSERT INTO reader VALUES('093004','刘洪昌',NULL,5,'Y') INSERT INTO reader VALUES('093005','王丽睿',NULL,5,'Y') --------------------------------- --向职员表中插入数据 --------------------------------- INSERT INTO clerk VALUES('092001','王俊','150233198008283456','123456','管理员') INSERT INTO clerk VALUES('092002','李佳','120512197609011234','123456','职员') INSERT INTO clerk VALUES('092003','赵强','130523198206011235','123456','职员') INSERT INTO clerk VALUES('092004','刘永','161612197909018631','123456','职员') INSERT INTO clerk VALUES('092005','张倩','182512197806011235','123456','职员') --------------------------------- --修改图书表中某图书的借阅状态 --------------------------------- UPDATE book SET flag_borrow = 'N' WHERE book_id = '10310518' UPDATE book SET flag_borrow = 'N' WHERE book_id = '13020889' --------------------------------- --向借阅表中插入数据 --------------------------------- INSERT INTO borrow (reader_id,book_id,borrow_date,b_clerk_id,r_clerk_id,return_date,flag_return) VALUES('093001','10301001','2010-12-28','092002','092003','2011-2-28','Y') INSERT INTO borrow (reader_id,book_id,borrow_date,b_clerk_id,r_clerk_id,return_date,flag_return) VALUES('093002','10300715','2011-3-1','092005','092003','2011-3-25','Y') INSERT INTO borrow (reader_id,book_id,borrow_date,b_clerk_id,r_clerk_id,return_date,flag_return) VALUES('093002','10310518','2011-3-5','092005','092001',NULL,'N') INSERT INTO borrow (reader_id,book_id,borrow_date,b_clerk_id,r_clerk_id,return_date,flag_return) VALUES('093004','13020889','2011-3-20','092004','092005',NULL,'N') INSERT INTO borrow (reader_id,book_id,borrow_date,b_clerk_id,r_clerk_id,return_date,flag_return) VALUES('093004','10301174','2011-2-28','092004','092002','2011-3-20','Y') INSERT INTO borrow (reader_id,book_id,borrow_date,b_clerk_id,r_clerk_id,return_date,flag_return) VALUES('093005','10301215','2011-3-8','092005','092004','2011-3-24','Y')
代码给大家啦。
SELECT book_name,press,price FROM book SELECT book_name,price*1.2new_price FROM book /*查询书中所有出版社的名字,每个出版社只出现一次*/ SELECT DISTINCT press FROM book /*查询出版日期在2006年1月1日以后的图书信息*/ SELECT * FROM book WHERE press_date>2006-01-01; /*查询所有清华大学出版社的图书名字、作者、出版社、出版日期*/ SELECT book_name,author,press,press_date FROM book WHERE (press='清华大学出版社'); /*查询名字以“计算机”开头的图书信息*/ SELECT * FROM book WHERE book_name like '计算机%'; /*查询价格在20-30之间的图书信息*/ SELECT * FROM book WHERE price >20 and price<30; /*查询价格在40元以上,或者2006年以后出版的图书名字,作者,出版社 出版日期,价格*/ SELECT * FROM book WHERE price >40 and press_date>2006-00-00; /*查询出版社为清华大学出版社,科学出版社的图书名字,出版社,价格*/ SELECT * FROM book WHERE press='清华大学出版社'or press ='科学出版社';
这篇关于数据库 单表查询的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程
- 2024-11-26Springboot单体架构搭建资料:新手入门教程
- 2024-11-26Springboot单体架构搭建资料详解与实战教程
- 2024-11-26Springboot框架资料:新手入门教程
- 2024-11-26Springboot企业级开发资料入门教程
- 2024-11-26SpringBoot企业级开发资料详解与实战教程
- 2024-11-26Springboot微服务资料:新手入门全攻略