一、创建如下表结构(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语句小练习的更多相关文章

  1. SQL语句小总结

    无论是面试过程中,还是未来工作中,SQL都是一定会考到和用到的.所以,在此对之前看过的一些SQL知识点进行一下总结和记录,算是起到一个笔记本的作用.没有深入学习过SQL的和对SQL印象不太深的朋友可以 ...

  2. sql语句小记录

    测试过程中,需要去数据库中查询一些结果,比如验证码 常用的是查询 更新比较少用 删除一般不用 sql查询语句的嵌套用法,比较实用 比如in的用法:第一种:查询多个值时 SELECT "栏位名 ...

  3. sql语句小练习一

    create database aaa go use aaa go create table student(    sno varchar(3), sname varchar(4) not null ...

  4. SQL语句小tips(持续更新)

    统计非法数据 判断people_id是否是32为字母组成的,统计不满足要求的数据 SELECT COUNT(IF(BINARY people_id NOT REGEXP '^[0-9a-z]{32}' ...

  5. 拼接Sql语句小心得

    在往数据库插入数据时,需要根据数据和数据库中的列信息进行拼接,在本篇文章中,输出小心得.使用语言为 python. 拼接原始列信息 比如待插入数据库列信息为 deptNo,dName, Locate, ...

  6. sql语句小练习二

    1.创建一个数据库StudentManage, 初始化大小10M,不足以1M每次增长 create database StudentManage   on ( name = 'StudentManag ...

  7. sql语句 小记录

    select Name '姓名',Age '年龄',(select LessonName + ',' from Lesson where StudentId=s1.Id FOR XML PATH('' ...

  8. 一个自动生成插入与更新SQL语句的小类

    无需关注字段类型,只要传入字段名与值的集合,自动生成Ms sql server SQL语句.详见Test()方法 using System; namespace Fan.iData.SqlUtilit ...

  9. (小技巧)Sql server查看sql语句的执行时间(转)

    转自CSDN: 在写数据库sql的时候,我们往往很关心该sql语句的执行效率,如下小技巧可以帮助程序员简单快速的得到某条或某几条sql的执行时间. declare @d datetime set @d ...

随机推荐

  1. Windows10家庭版升级至专业版

    控制面板--系统里面修改产品密钥即可. 密钥:VK7JG-NPHTM-C97JM-9MPGT-3V66T.(先断网,不然会提示升级失败)

  2. NET Core中使用Redis和Memcached

    .NET Core中使用Redis和Memcached的序列化问题   前言 在使用分布式缓存的时候,都不可避免的要做这样一步操作,将数据序列化后再存储到缓存中去. 序列化这一操作,或许是显式的,或许 ...

  3. NET Core 模块化,多租户框架

    NET Core 模块化,多租户框架 Orchard Core Framework:ASP.NET Core 模块化,多租户框架 上一篇编写Orchard Core一分钟搭建ASP.NET Core ...

  4. NET Core:部署项目到Ubuntu Server

    NET Core:部署项目到Ubuntu Server 概述 基于上一篇成功安装Ubuntu Server 16.10的基础上,接下来继续我们ASP.NET Core项目的部署之旅! 只是对于这些年整 ...

  5. 转 dos 下的 find 和 重定向 and 删除

    1.find /i "ora-" *.* > check.log del /Q .\log\*.* 附录: 我对findstr是如此的依赖,以至于当我向各位讲解find命令的 ...

  6. git 本地新建分支Push到远程

    1. 本地新建分支,并切换到新的分支 git branch local_branch; git checkout local_branch; 2.第一条的命令也可以简单的一条命令来替代 git che ...

  7. Spark Mllib里的向量标签概念、构成(图文详解)

    不多说,直接上干货! Labeled point: 向量标签 向量标签用于对Spark Mllib中机器学习算法的不同值做标记. 例如分类问题中,可以将不同的数据集分成若干份,以整数0.1.2,... ...

  8. MCS-51单片机的定时器/计数器概念

    一.MCS-51单片机的定时器/计数器概念 单片机中,脉冲计数与时间之间的关系十分密切,每输入一个脉冲,计数器的值就会自动累加1,而花费的时间恰好是1微秒;只要相邻两个计数脉冲之间的时间间隔相等,则计 ...

  9. Redis string(字符串)

    1.getset key newValue   //给key设置value,并返回旧的value,如果没有旧的value,返回nil. 示例: getset age      //age 的值被设置为 ...

  10. ribbon重试机制

    我们使用Spring Cloud Ribbon实现客户端负载均衡的时候,通常都会利用@LoadBalanced来让RestTemplate具备客户端负载功能,从而实现面向服务名的接口访问. 下面的例子 ...