SQL语句小练习

Posted 斯外戈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL语句小练习相关的知识,希望对你有一定的参考价值。

一、创建如下表结构(t_book

Id         主键   自增一    

bookName   可变长 20

Price   小数

Author    可变长20

bookTypeId    图书类型 

 

 

二、创建如下表结构(t_bookType 

Id  主键   自增一

bookTypeName  可变长20

 

三、填加表记录(每个表填加一条即可)

 

 

 

四、查看每本书的书名和类型

五、如何得到下列结果(所有图书所有类型)

 

六、如果得到下列结果(图书和类型匹配才显示)

 

七、如果想查出所有图书和其图书类型(假设有的图书没有类型)

八、查询出教育类和计算机类的图书

九、显示高于平均价格的图书

十、显示所有图书类型表中存在类型的图书

删除图书表中已经在类型表中没有的信息

 

答案:

 

1

create table t_book(

id int PRIMARY KEY  auto_increment,

bookName varchar(20),

price FLOAT,

author VARCHAR(20),

bookTypeId int

foreign key(bookTypeid) references t_bookType(id)

);

 

2

create table t_bookType(

 

id int PRIMARY KEY,

 

bookTypeName VARCHAR(20)

 

);

 

3

insert into t_bookType(bookTypeName) values(\'教育类\')

insert into t_book(bookName,price,author,bookTypeId) values(\'java从入门到精通\',80,\'李钟尉\',1)

 

4

select a.bookName,b.bookTypeName from t_book a,t_bookType b where a.bookTypeId=b.id

 

5

select * from t_book a,t_bookType b

 

6

select * from t_book a,t_bookType b  where a.bookTypeId = b.id

 

7

SELECT * from t_book left JOIN t_bookType  on t_book.bookTypeId= t_bookType.id

 

8

select * from t_book where bookTypeId in (select id from t_bookType WHERE bookTypeName in (\'教育类\',\'计算机类\')

 

9

select * from t_book where price >(select avg(price) from t_book)

 

10

select a.bookName,b.bookTypeName from t_book a,t_bookType b where a.bookTypeId=b.id

 

11

delete from t_book where bookTypeId  not in  (select id from t_bookType)

 

以上是关于SQL语句小练习的主要内容,如果未能解决你的问题,请参考以下文章

oracle中sql语句小练习(使用连接查询)

MySQL-注释-Navicat基本使用-复杂查询练习题-解题思路-pymysql操作数据库-SQL注入-05

PL\SQL 语句忽略错误

sql语句练习

MySQL经典数据库SQL语句编写练习题——SQL语句扫盲

MySQL[练习]SQL 语句