崔喵历险记之MySQL梦境世界(习题集2)

崔喵历险记之MySQL梦境世界(习题集2)

码农世界 2024-06-17 后端 99 次浏览 0个评论

崔喵历险记之MySQL梦境世界(习题集2)

返回游戏主界面:个人主页

呼.......哈........呼.......噜~~~~~⚠崔喵起床战斗啦!

目录

引言 :

记忆之塔[第二层]

1.在以上创建的商品表中插入一条数据:名称为“学生书包”、价格18.91、库存101、描述为空

2.在图书表中新增一条记录:Java核心技术、作者“Cay S. Horstman”,价格56.43,分类为“计算机技术”

3.查询article文章表中,发表日期create_date在2019年1月1日上午10点30分至2019年11月10日下午4点2分的文章

4.查询article文章表中,文章标题title为空,或者满足发表日期create_date在2019年1月1日之后

5.(多选)执行以下 SQL ,下面哪些名字会被查询出来( )

SELECT FirstName FROM StaffList WHERE FirstName LIKE '_A%'

6.SQL语言允许使用通配符进行字符串匹配的操作,其中‘%’可以表示( )

7.A表字段a 类型int中有100条记录,值分别为1至100。如下语句 SELECT a FROM A WHERE a BETWEEN 1 AND 50 OR (a IN (25,70,95) AND a BETWEEN 25 AND 75) 则如下哪个值在这个sql语句返回的结果集中?( )

 8.查询book图书表中,作者author列不为空,或者满足条件:价格price在50元以上且出版日期publish_date在2019年之后的图书信息

9.查询用户user表中,同时满足以下两个条件的用户数据:

1. ID在1至200或300至500,且账号accout列不为空

2. 充值金额money在1000以上。

记忆之塔【第二层攻略】

1.product 

 2.books

3.article(1)

4.article(2)

5.多选

6.%

7.判断

 8.book表

 9.user表


引言 :

欢迎你成功来到了崔喵梦境世界的记忆之塔,相信在前面的新手教程和虚拟练习室你已经能够熟练进行创建数据表的操作。如果你想要离开这个世界,那么就挑战我吧。我在记忆之塔的顶端等你。

系统提示:通关记忆之塔二层,你将会得到崔喵的记忆碎片,随即崔喵的实力也会增加!


记忆之塔[第二层]

1.在以上创建的商品表中插入一条数据:名称为“学生书包”、价格18.91、库存101、描述为空


2.在图书表中新增一条记录:Java核心技术、作者“Cay S. Horstman”,价格56.43,分类为“计算机技术”


3.查询article文章表中,发表日期create_date在2019年1月1日上午10点30分至2019年11月10日下午4点2分的文章


4.查询article文章表中,文章标题title为空,或者满足发表日期create_date在2019年1月1日之后


5.(多选)执行以下 SQL ,下面哪些名字会被查询出来( )

SELECT FirstName FROM StaffList WHERE FirstName LIKE '_A%'

A .Allen         B .CLARK         C .JACKSON        D .David


6.SQL语言允许使用通配符进行字符串匹配的操作,其中‘%’可以表示( )

A .零个字符        B .1个字符        C .多个字符        D .以上都可以


7.A表字段a 类型int中有100条记录,值分别为1至100。如下语句 SELECT a FROM A WHERE a BETWEEN 1 AND 50 OR (a IN (25,70,95) AND a BETWEEN 25 AND 75) 则如下哪个值在这个sql语句返回的结果集中?( )

A .30        B .51        C .75        D .95


 8.查询book图书表中,作者author列不为空,或者满足条件:价格price在50元以上且出版日期publish_date在2019年之后的图书信息


9.查询用户user表中,同时满足以下两个条件的用户数据:

1. ID在1至200或300至500,且账号accout列不为空

2. 充值金额money在1000以上。


记忆之塔【第二层攻略】

1.product 

insert into product(name,price,storage) values('学生书包',18.91,101);

可以全列插入,也可以直插需要的三列。全列插入就是写成('学生书包',18.91,101, null)。

drop table if exists product;
create table product(
	name varchar(20),
	price decimal(11,2),
	storage int,
	description varchar(100)
);
 insert into product(name,price,storage) values('学生书包',18.91,101);
 select *from product;

 2.books

insert into book values('Java核心技术','Cay S.Horstman',56.43,'计算机技术');

全列都有值,直接全列插入就行了。

drop table if exists book;
create table book(
	name varchar(20),
	author varchar(20),
	price decimal(11,2),
	category varchar(20)
);
 insert into book values('Java核心技术','Cay S.Horstman',56.43,'计算机技术');
 select * from book;

3.article(1)

select * from article where create_date between '2019-01-01 10:30:00' and '2019-11-10 16:02:00';

时间信息也是可以用between...and...的。

create table article (
   id int ,
   create_date datetime ,
   name varchar(20)
   );
insert into article(id,create_date,name) values
 (1,20190101103027,"Java核心技术"),
 (2,20190202103027,"Javaweb自学指南"),
 (3,20191210040245,"Java项目实训"),
 (4,20191109030221,"代码大全");
 select *from article where create_date between 
 "2019-1-1 10:30:00" and "2019-11-10 4:02:00";

4.article(2)

select * from article where title is null or create_date > '2019-01-01 00:00:00';

判空可以用is null或者<=> null,发表日期可以直接用大于号比较

 create table article (
   id int ,
   create_date datetime ,
   name varchar(20)
   );
insert into article(id,create_date,name)values 
(1,20190101103027,"Java核心技术"),
(2,20190202103027,"Javaweb自学指南"),
(3,20191210040245,"Java项目实训"),
(4,20191109030221,"代码大全");
 select *from article where create_date between 
 "2019-1-1 10:30:00" and "2019-11-10 4:02:00";
 insert into article(id,create_date,name)values(5,20191109030221,null);
 select *from article where create_date > "2019-1-1 11:59:59" or name<=>null;

5.多选

答案:CD

题面其实是在问第二个字符是A的是哪个,严格意义上只有C对,但是题面没有说明校验规则。在通常情况下,默认校验规则是utf8_general_ci。在这个状况下,D也对。


6.%

答案:D

%表示任意个字符,0个到∞个都行,所以小孩子才做选择,我全都要!


7.判断

答案:A

要求的逻辑是:[1,50]或((25或70或95)且[25,75]),后半段只有25和70满足,选项没有,前半段1~50都满足,只有A选项的30在这个范围内,那就A了。


 8.book表

select * from book where author is not null or (price >50 and publish_date>'2019-01-01 00:00:00');

不为空用is not null或者not ... <=> null。这个条件跟后面是或关系,后两个是且关系。

create table book (id int,name varchar(20),
author varchar(20),price decimal(11,2), 
publish_date datetime);
insert into book(id,name,author,price,publish_date)values
  (1,"java","喵1",65,20190101123029),
  (2,"python","喵2",89,20231223154656),
  (3,"c++","喵3",79,20240302133245);
select * from book where author is not null or (price >50 and publish_date>'2019-01-01 00:00:00');

 9.user表

select * from user where (id between 1 and 200 or id between 300 and 500) and accout is not null and money>1000;

条件1两个between...and...间是或关系,跟“accout列不为空”这个条件是且关系。条件1与条件2间是与关系。

create table user (
   id int ,
   accout varchar(20),
  money int
  );
 insert into user (id,accout,money)vaules
  (1,"小名",56),
   (2,"小和",890),
   (3,"小胜",1000),
   (4,"小没",10000),
   (90,null,1999);
select * from user where (id between 1 and 200 or id between 300 and 500) and accout is not null and amount>1000;

转载请注明来自码农世界,本文标题:《崔喵历险记之MySQL梦境世界(习题集2)》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,99人围观)参与讨论

还没有评论,来说两句吧...

Top