mysql入门1:建表、插入、单表查询练习题1
1.创建表
create table TSB
(
zbh char(10) primary key ,
flh char(10) not null,
sm varchar(30) not null,
zz varchar(30) not null,
cbdw varchar(50) not null,
dj numeric(3,3) not null
);
create table DZB
(
jszh char(10) unique primary key,
dw varchar(20) not null,
xm varchar(20) not null,
xb char(10) not null,
zc varchar(20) not null,
dz varchar(50) not null
);
create table JYB
(
jszh char(10) ,
foreign key(jszh) references dzb(jszh),
zbh char(10),
foreign key(zbh) references tsb(zbh),
jsrq timestamp(8) not null
);
注意:外键语法---foreign key(从表字段) references 主表名(从表字段)
2.插入数据
insert into TSB(zbh,flh,sm,zz,cbdw,dj)
values('445501','TP3/12','数据库导论','王强','科学出版社','17.90'),/*????怎么重新输入相同的内容,只改变一个记录????*/
('445502','TP3/12','数据库导论','王强','科学出版社','17.90'),
('445503','TP3/12','数据库导论','王强','科学出版社','17.90'),
('332211','TP5/10','计算机基础','李伟','高等教育出版社','18.00'),
('112266','TP3/12','FoxBASE','张三','电子工业出版社','23.60'),
('665544','TS7/21','高等数学','刘明','高等教育出版社','20.00'),
('114455','TR9/12','线性代数','孙业','北京大学出版社','20.80'),
('113388','TR7/90','大学英语','胡玲','清华大学出版社','12.50'),
('446601','TP4/13','数据库基础','马凌云','人民邮电出版社','22.50'),
('446602','TP4/13','数据库基础','马凌云','人民邮电出版社','22.50'),
('446603','TP4/13','数据库基础','马凌云','人民邮电出版社','22.50'),
('449901','TP4/14','FoxPro大全','周虹','科学出版社','32.70'),
('449902','TP4/14','FoxPro大全','周虹','科学出版社','32.70'),
('118801','TP4/15','计算机网络','黄力钧','高等教育出版社','21.80'),
('118802','TP4/15','计算机网络','黄立钧','高等教育出版社','21.80');
insert into DZB(jszh,dw,xm,xb,zc,dz)
values ('111','信息系','王维利','女','教授','1号楼424'),
('112','财会系','李立','男','副教授','2号楼316'),
('113','经济系','张三','男','教授','3号楼105'),
('114','信息系','周华发','男','教授','1号楼316'),
('115','信息系','赵正义','男','教授','1号楼224'),
('116','信息系','李明','男','教授','1号楼318'),
('117','计算机系','李晓峰','男','教授','1号楼214'),
('118','计算机系','徐鹏飞','男','教授','1号楼216'),
('119','计算机系','刘大龙','男','教授','1号楼318'),
('120','国际贸易系','李雪','女','教授','4号楼506'),
('121','国际贸易系','李爽','女','教授','4号楼510'),
('122','国际贸易系','王春','女','教授','4号楼512'),
('123','财会系','沈晓霞','女','教授','2号楼202'),
('124','财会系','朱海','男','教授','2号楼210'),
('125','财会系','马英明','男','教授','2号楼212');
insert into JYB(jszh,zbh,jsrq)
values('112','112266','19970314'),
('112','445501','19970319'),/*此表因为没有主键存在可以重复录入*/
('125','332211','19970212'),
('111','445503','19970821'),
('114','665544','19971021'),
('120','114455','19971102'),
('120','118801','19971018'),
('119','446603','19971212'),
('112','449901','19971023'),
('115','449902','19970821'),
('118','118801','19970910');
3.单表查询
用SQL完成如下查询:
1) 找出姓李的读者姓名和所在单位。
2) 列出图书库中所有藏书的书名。
3) 查找高等教育出版社的所有图书及单价,结果按单价降序排序。
4) 查找价格介于10元和20元之间的图书种类,结果按出版单位和单价升序排序。
5) 查找书名以计算机打头的所有图书和作者。
答案:
select xm,dw from dzb where xm like '李%';
/*列出图书库中所有藏书的书名*/
select sm from tsb group by sm;
select distinct sm from tsb;
select sm,dj from tsb where cbdw='高等教育出版社' order by dj desc;
/*注意使用”>=“和”<=“时小数和整数影响查询结果*/
select flh from tsb where dj>='10' and dj<= '20' order by cbdw,dj;
select flh from tsb where dj>='10.00' and dj<= '20.00' order by cbdw,dj;
/*between ... and ... 无影响*/
select flh from tsb where dj between 10 and 20 order by cbdw,dj;
select sm,zz from tsb where sm like '计算机%';
完成下面SQL高级查询:
13) 求科学出版社图书的最高单价、最低单价、平均单价。
15) 求出各个出版社图书的最高价格、最低价格和册数。
19) 找出藏书中各个出版单位的册数、价值总额。
答案:
select max(dj) as '最高单价', min(dj) as '最低单价',avg(dj) as '平均单价' from tsb where cbdw='科学出版社';
select cbdw as '出版单位',max(dj),min(dj),count(*) from tsb group by cbdw;
select cbdw as '出版单位', sum(dj),count(dj) from tsb group by cbdw;
mysql入门1:建表、插入、单表查询练习题1相关推荐
- MySQL数据库 第5章:单表操作
MySQL数据库 第5章:单表操作 5.1 数据操作 5.1.1 复制表结构和数据 5.1.2 解决主键冲突 5.1.3 清空数据 5.1.4 去除重复记录 5.2 排序与限量 5.2.1 排序 5. ...
- MySQL从安装到精通(单表)
目录 MySQL(结构化查询语言)单表基础 简介: 数据库的三层结构-破除数据库的神秘面纱 什么是关系型数据库 常见的关系性数据库 *SQL的分类* My SQL的安装 可视化工具的使用(SQLyog ...
- springDataJpa入门教程(5)-单表动态条件查询+分页
springDataJpa入门教程 springDataJpa入门教程(1)-基于springBoot的基本增删改查 springDataJpa入门教程(2)-Specification动态条件查询+ ...
- mysql获取一个表的数据作为值插入_请问如何在mysql中得到一个即将插入数据表中的那条数据的id值(id自增长)?...
我们在写数据库程序的时候,经常会需要获取某个表中的最大序号数, 一般情况下获取刚插入的数据的id,使用select max(id) from table 是可以的. 但在多线程情况下,就不行了. 下面 ...
- Spark入门(十七)之单表关联
一.单表关联 给出child-parent(孩子--父母)表,要求输出grandchild-grandparent(孙子--祖父母)表 二.maven设置 <?xml version=" ...
- django(七)之数据库表的单表-增删改查QuerySet,双下划线
https://www.cnblogs.com/haiyan123/p/7738435.html https://www.cnblogs.com/yuanchenqi/articles/6083427 ...
- NC Cloud参照过滤(主子表、单表、查询区、报表)
NC Cloud参照过滤 在业务进行过程中,二开的单据需要我们自行设置参照过滤,本文详细讲解. 单表.主子表查询区过滤 举例:查询区的银行账户需要根据已选择的财务组织进行过滤,更改财务组织时清空已选择 ...
- Delphi中ADO查询多表更新单表解决方法
学Delphi也好久了,但一直没怎么总结,这不好久没弄ADO了,趁这个星期一直看公司的代码,自己也来实践一下.以前一直用ADO操作单表,一直没怎么弄过ADO操作多表的程序,不自己实践一下还真不知道操作 ...
- Mysql的学习4____数据的单标查询,连接查询,自连接查询,子查询
DQL(Data Query Language):数据库查询语言 1.进行简单的单表查询,复杂的多表查询,嵌套查询: /* SELECT [ALL | DISTINCT] {* | table.* | ...
- Mysql入门学习(二)之子查询+关联
关联查询(重点) 1.1 子查询 概述:一个查询的结果作为另一个查询的条件 语法:SELECT 列名 FROM 表名 Where 条件(子查询结果) 案例: 查询工资大于Bruce 的员工信息 1.先 ...
最新文章
- boost::fusion::back_extended_deque用法的测试程序
- 使用Nginx+Lua(OpenResty)开发高性能Web应用
- const修饰是指针和常量
- 从搭建大数据环境说起,到执行WordCount所遇到的坑
- 消息中间件kafka集群搭建
- Java并发(二)——ThreadLocal
- SQL语句中 NOT IN 子句的“正确打开方式”
- html 音乐代码生成器,在线自动生成音乐播放器
- SOEM建立主站程序
- 在ArcMap中直接加载谷歌地球影像的方法
- Vue入门---实现汇率换算
- 删除单向链表的最后一个节点
- Cisco ASA 基础
- 曼哈顿算法公式_Manhattan Distance Calculation(曼哈顿距离算法)
- 关于异业联盟和O2O商业模式的一些想法
- dijkstra标号法表格_狄克斯屈拉dijkstra标号算法.pptx
- 各种矩阵(向量)求导
- 如何在Eclipse 中将隐藏的包给显示出来
- java 数组内元素相乘,java数组元素如何进行加减乘除,请大侠咪赐教!!
- 每日一题01、02(斐波那契凤尾、淘宝网店、美国节日、分解因数)