数据库相关习题2

数据库相关习题2

新建一个学生表S,有包含如下信息
学号 id,
学生姓名 name,
性别 gender,
年龄 age,
专业 dept并插入10条数据。

create table S(
id int primary key auto_increment,
name varchar(20),
gender varchar(10),
age int,
department varchar(100)
);

drop table S;
desc S;
select * from S;

学号格式为 201801 201802 201803…
性别只有 ‘male’ & ‘female’
院系包含(信息系、数学系,计算机科学系 等)

然后做如下查询:

alter database mysql character set utf8 collate utf8_bin;
-- 否则 Incorrect string value: '\xE9\xAB\x98\xE6\xBA\x90' for column 'name' at row 1
show create database mysql;

insert into S (id,name,gender,age,department) value (null,'正派雪茄','male',18,'信息系');
insert into S (id,name,gender,age,department) value (null,'迪迦','male',19,'数学系');
insert into S (id,name,gender,age,department) value (null,'佐菲','male',20,'计算机科学系');
insert into S (id,name,gender,age,department) value (null,'雷欧','female',21,'信息系');
insert into S (id,name,gender,age,department) value (null,'杰克','male',22,'信息系');
insert into S (id,name,gender,age,department) value (null,'泰罗','male',23,'信息系');
insert into S (id,name,gender,age,department) value (null,'高斯','male',24,'计算机科学系');
insert into S (id,name,gender,age,department) value (null,'赛文','male',25,'数学系');
insert into S (id,name,gender,age,department) value (null,'宇宙英雄','male',26,'信息系');
insert into S (id,name,gender,age,department) value (null,'奥特之母','female',27,'计算机科学系');
  1.     查询全体学生的学号与姓名。
    

    在这里插入图片描述

  2.     查询全体学生的姓名、学号。
    
select name,id from S;

在这里插入图片描述

  1.     查询全体学生的详细记录。
    
select * from S;

在这里插入图片描述

  1.     查询全体学生的姓名、出生年份和所有系[补] 使用列别名改变查询结果的列标题
    
select name as N,age as A,department as D from S;

在这里插入图片描述

  1.     查询所有年龄在20岁以下的学生姓名及其年龄。
    
select name,age from S where age<20;

在这里插入图片描述

  1.   查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄。
    
select name,department,age from S where age between 20 and 23;

在这里插入图片描述

  1.   查询年龄不在20~23岁之间的学生姓名、系别和年龄。
    
	select name,department,age from S where age not in(20,21,22,23);
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210307230048190.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2d5OTljc2Ru,size_16,color_FFFFFF,t_70)
  1. 查询信息系、数学系和计算机系学生的姓名和性别。
    
		select name,gender from S where department='信息系' and department='数学系' and department='计算机科学系';

在这里插入图片描述

  1. 查询既不是信息系、数学系,也不是计算机科学系的学生的姓名和性别。
    
select name,gender from S where department!='信息系' and department!='数学系' and department!='计算机科学系';

在这里插入图片描述

  1. 查询学号为200518的学生的详细情况。
    
select * from S where id=8;

在这里插入图片描述

  1. 查询所有姓雷学生的姓名、学号和性别。
    
 select * from S where name like '雷%';

在这里插入图片描述

  1. 查询姓“高”且全名为两个汉字的学生的姓名。
    
 select * from S where name like '高_';

在这里插入图片描述

  1. 查询名字中第2个字为“迦"字的学生的姓名和学号。
    
   select * from S where name like '%迦';

在这里插入图片描述

  1. 查询所有不姓雷的学生姓名。
    
 select * from S where name not like '雷%';

在这里插入图片描述

  1. 查询学号在201801~201809之间的学生姓名。
    
 select * from S where id between 1 and 9;

在这里插入图片描述

  1. 查询不同院系学生的人数。
    
	select count(*) as 信息系人数 from S where department='信息系';
		select count(*) as 数学系人数 from S where department='数学系';
			select count(*) as 计算机科学系人数 from S where department='计算机科学系';
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210307231901592.png)

在这里插入图片描述
在这里插入图片描述

  1. 查询计算机系年龄在20岁以下的学生姓名。
    
			select name,age,department from S where department='计算机科学系' and age<20 group by name;

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/gy99csdn/article/details/114501000