当前位置:网站首页>数据库系统原理与应用教程(059)—— MySQL 练习题:操作题 1-10(三)
数据库系统原理与应用教程(059)—— MySQL 练习题:操作题 1-10(三)
2022-07-28 12:30:00 【睿思达DBA_WGX】
数据库系统原理与应用教程(059)—— MySQL 练习题:操作题 1-10(三)
1、基础查询(1):查询表中的所有列
题目:要查看用户信息表中所有的信息,编写 SQL 语句取出相应结果。
示例:user_profile 表的数据如下。
| id | device_id | gender | age | university | province |
|---|---|---|---|---|---|
| 1 | 2138 | male | 21 | 北京大学 | Beijing |
| 2 | 3214 | male | 复旦大学 | Shanghai | |
| 3 | 6543 | female | 20 | 北京大学 | Beijing |
| 4 | 2315 | female | 23 | 浙江大学 | ZheJiang |
| 5 | 5432 | male | 25 | 山东大学 | Shandong |
查询应返回以下结果:
| id | device_id | gender | age | university | province |
|---|---|---|---|---|---|
| 1 | 2138 | male | 21 | 北京大学 | Beijing |
| 2 | 3214 | male | 复旦大学 | Shanghai | |
| 3 | 6543 | female | 20 | 北京大学 | Beijing |
| 4 | 2315 | female | 23 | 浙江大学 | Zhejiang |
| 5 | 5432 | male | 25 | 山东大学 | Shandong |
表结构及数据如下:
/* drop table if exists user_profile; CREATE TABLE `user_profile` ( `id` int NOT NULL, `device_id` int NOT NULL, `gender` varchar(14) NOT NULL, `age` int , `university` varchar(32) NOT NULL, `province` varchar(32) NOT NULL); INSERT INTO user_profile VALUES(1,2138,'male',21,'北京大学','BeiJing'); INSERT INTO user_profile VALUES(2,3214,'male',null,'复旦大学','Shanghai'); INSERT INTO user_profile VALUES(3,6543,'female',20,'北京大学','BeiJing'); INSERT INTO user_profile VALUES(4,2315,'female',23,'浙江大学','ZheJiang'); INSERT INTO user_profile VALUES(5,5432,'male',25,'山东大学','Shandong'); */
解答:
-- 使用 *
mysql> select * from user_profile;
+----+-----------+--------+------+--------------+----------+
| id | device_id | gender | age | university | province |
+----+-----------+--------+------+--------------+----------+
| 1 | 2138 | male | 21 | 北京大学 | BeiJing |
| 2 | 3214 | male | NULL | 复旦大学 | Shanghai |
| 3 | 6543 | female | 20 | 北京大学 | BeiJing |
| 4 | 2315 | female | 23 | 浙江大学 | ZheJiang |
| 5 | 5432 | male | 25 | 山东大学 | Shandong |
+----+-----------+--------+------+--------------+----------+
5 rows in set (0.00 sec)
-- 使用字段列表
mysql> select id, device_id, gender, age, university, province from user_profile;
+----+-----------+--------+------+--------------+----------+
| id | device_id | gender | age | university | province |
+----+-----------+--------+------+--------------+----------+
| 1 | 2138 | male | 21 | 北京大学 | BeiJing |
| 2 | 3214 | male | NULL | 复旦大学 | Shanghai |
| 3 | 6543 | female | 20 | 北京大学 | BeiJing |
| 4 | 2315 | female | 23 | 浙江大学 | ZheJiang |
| 5 | 5432 | male | 25 | 山东大学 | Shandong |
+----+-----------+--------+------+--------------+----------+
5 rows in set (0.00 sec)
2、基础查询(2):查询多列
题目:要查询用户的设备 id 对应的性别、年龄和学校信息,请你取出相应数据,编写 SQL 语句取出相应结果。
示例:user_profile 表的数据如下。
| id | device_id | gender | age | university | province |
|---|---|---|---|---|---|
| 1 | 2138 | male | 21 | 北京大学 | Beijing |
| 2 | 3214 | male | 复旦大学 | Shanghai | |
| 3 | 6543 | female | 20 | 北京大学 | Beijing |
| 4 | 2315 | female | 23 | 浙江大学 | Zhejiang |
| 5 | 5432 | male | 25 | 山东大学 | Shandong |
查询应返回以下结果:
| device_id | gender | age | university |
|---|---|---|---|
| 2138 | male | 21 | 北京大学 |
| 3214 | male | 复旦大学 | |
| 6543 | female | 20 | 北京大学 |
| 2315 | female | 23 | 浙江大学 |
| 5432 | male | 25 | 山东大学 |
解答:
mysql> select device_id, gender, age, university from user_profile;
+-----------+--------+------+--------------+
| device_id | gender | age | university |
+-----------+--------+------+--------------+
| 2138 | male | 21 | 北京大学 |
| 3214 | male | NULL | 复旦大学 |
| 6543 | female | 20 | 北京大学 |
| 2315 | female | 23 | 浙江大学 |
| 5432 | male | 25 | 山东大学 |
+-----------+--------+------+--------------+
5 rows in set (0.00 sec)
3、基础查询(3):查询结果去重
题目:要查看用户来自于哪些学校,从用户信息表中取出学校的去重数据。
示例:user_profile 表的数据如下。
| id | device_id | gender | age | university | province |
|---|---|---|---|---|---|
| 1 | 2138 | male | 21 | 北京大学 | Beijing |
| 2 | 3214 | male | 复旦大学 | Shanghai | |
| 3 | 6543 | female | 20 | 北京大学 | Beijing |
| 4 | 2315 | female | 23 | 浙江大学 | ZheJiang |
| 5 | 5432 | male | 25 | 山东大学 | Shandong |
查询应返回以下结果:
| university |
|---|
| 北京大学 |
| 复旦大学 |
| 浙江大学 |
| 山东大学 |
解答:
mysql> select distinct university from user_profile;
+--------------+
| university |
+--------------+
| 北京大学 |
| 复旦大学 |
| 浙江大学 |
| 山东大学 |
+--------------+
4 rows in set (0.00 sec)
4、基础查询(4):限制查询结果返回的行数
题目:要查看前 2 个用户的设备ID数据,从用户信息表 user_profile 中取出相应结果。
示例:user_profile 表的数据如下。
| id | device_id | gender | age | university | province |
|---|---|---|---|---|---|
| 1 | 2138 | male | 21 | 北京大学 | Beijing |
| 2 | 3214 | male | 复旦大学 | Shanghai | |
| 3 | 6543 | female | 20 | 北京大学 | Beijing |
| 4 | 2315 | female | 23 | 浙江大学 | ZheJiang |
| 5 | 5432 | male | 25 | 山东大学 | Shandong |
查询应返回以下结果:
| device_id |
|---|
| 2138 |
| 3214 |
解答:
mysql> select device_id from user_profile limit 2;
+-----------+
| device_id |
+-----------+
| 2138 |
| 3214 |
+-----------+
2 rows in set (0.00 sec)
5、基础查询(5):为查询到的列指定别名
题目:要查看前 2 个用户的设备 ID,并将列名改为 ‘user_infos_example’,从用户信息表取出相应结果。
示例:user_profile 表的数据如下。
| id | device_id | gender | age | university | province |
|---|---|---|---|---|---|
| 1 | 2138 | male | 21 | 北京大学 | Beijing |
| 2 | 3214 | male | 复旦大学 | Shanghai | |
| 3 | 6543 | female | 20 | 北京大学 | Beijing |
| 4 | 2315 | female | 23 | 浙江大学 | ZheJiang |
| 5 | 5432 | male | 25 | 山东大学 | Shandong |
查询应返回以下结果:
| user_infos_example |
|---|
| 2138 |
| 3214 |
解答:
-- 不使用 as
mysql> select device_id user_infos_example from user_profile limit 2;
+--------------------+
| user_infos_example |
+--------------------+
| 2138 |
| 3214 |
+--------------------+
2 rows in set (0.01 sec)
-- 使用 as
mysql> select device_id as user_infos_example from user_profile limit 2;
+--------------------+
| user_infos_example |
+--------------------+
| 2138 |
| 3214 |
+--------------------+
2 rows in set (0.00 sec)
6、比较运算符(1):查询学校是【北京大学】的学生信息
题目:要筛选出所有北京大学的学生信息,从用户信息表中取出满足条件的数据,返回设备 id 和学校。
示例:user_profile 表的数据如下。
| id | device_id | gender | age | university | province |
|---|---|---|---|---|---|
| 1 | 2138 | male | 21 | 北京大学 | Beijing |
| 2 | 3214 | male | 复旦大学 | Shanghai | |
| 3 | 6543 | female | 20 | 北京大学 | Beijing |
| 4 | 2315 | female | 23 | 浙江大学 | ZheJiang |
| 5 | 5432 | male | 25 | 山东大学 | Shandong |
查询应返回以下结果:
| device_id | university |
|---|---|
| 2138 | 北京大学 |
| 6543 | 北京大学 |
解答:
mysql> select device_id, university from user_profile where university = '北京大学';
+-----------+--------------+
| device_id | university |
+-----------+--------------+
| 2138 | 北京大学 |
| 6543 | 北京大学 |
+-----------+--------------+
2 rows in set (0.00 sec)
7、比较运算符(2):查询年龄大于 24 岁的用户信息
题目:要查询 24 岁以上的用户信息,取出满足条件的设备 ID、性别、年龄、学校。
用户信息表:user_profile 表的数据如下。
| id | device_id | gender | age | university | province |
|---|---|---|---|---|---|
| 1 | 2138 | male | 21 | 北京大学 | Beijing |
| 2 | 3214 | male | 复旦大学 | Shanghai | |
| 3 | 6543 | female | 20 | 北京大学 | Beijing |
| 4 | 2315 | female | 23 | 浙江大学 | ZheJiang |
| 5 | 5432 | male | 25 | 山东大学 | Shandong |
查询应返回以下结果:
| device_id | gender | age | university |
|---|---|---|---|
| 5432 | male | 25 | 山东大学 |
解答:
mysql> select device_id, gender, age, university from user_profile where age > 24;
+-----------+--------+------+--------------+
| device_id | gender | age | university |
+-----------+--------+------+--------------+
| 5432 | male | 25 | 山东大学 |
+-----------+--------+------+--------------+
1 row in set (0.01 sec)
8、比较运算符(3):查找某个年龄段的用户信息
题目:要查询 20 岁及以上且 23 岁及以下的用户信息,取出满足条件的 设备ID、性别、年龄。
用户信息表:user_profile 表的数据如下。
| id | device_id | gender | age | university | province |
|---|---|---|---|---|---|
| 1 | 2138 | male | 21 | 北京大学 | Beijing |
| 2 | 3214 | male | 复旦大学 | Shanghai | |
| 3 | 6543 | female | 20 | 北京大学 | Beijing |
| 4 | 2315 | female | 23 | 浙江大学 | ZheJiang |
| 5 | 5432 | male | 25 | 山东大学 | Shandong |
查询应返回以下结果:
| device_id | gender | age |
|---|---|---|
| 2138 | male | 21 |
| 6543 | female | 20 |
| 2315 | female | 23 |
解答:
-- 使用 between ... and ...
mysql> select device_id, gender, age from user_profile where age between 20 and 23;
+-----------+--------+------+
| device_id | gender | age |
+-----------+--------+------+
| 2138 | male | 21 |
| 6543 | female | 20 |
| 2315 | female | 23 |
+-----------+--------+------+
3 rows in set (0.01 sec)
-- 使用比较运算符和逻辑运算符
mysql> select device_id, gender, age from user_profile where age >= 20 and age <= 23;
+-----------+--------+------+
| device_id | gender | age |
+-----------+--------+------+
| 2138 | male | 21 |
| 6543 | female | 20 |
| 2315 | female | 23 |
+-----------+--------+------+
3 rows in set (0.00 sec)
9、比较运算符(4):查找除复旦大学以外的用户信息
题目:要查看除复旦大学以外的所有用户信息,取出设备 id,性别,年龄,学校。
示例:user_profile 表的数据如下。
| id | device_id | gender | age | university | province |
|---|---|---|---|---|---|
| 1 | 2138 | male | 21 | 北京大学 | Beijing |
| 2 | 3214 | male | 复旦大学 | Shanghai | |
| 3 | 6543 | female | 20 | 北京大学 | Beijing |
| 4 | 2315 | female | 23 | 浙江大学 | ZheJiang |
| 5 | 5432 | male | 25 | 山东大学 | Shandong |
查询应返回以下结果:
| device_id | gender | age | university |
|---|---|---|---|
| 2138 | male | 21 | 北京大学 |
| 6543 | female | 20 | 北京大学 |
| 2315 | female | 23 | 浙江大学 |
| 5432 | male | 25 | 山东大学 |
解答:
-- 使用 <>
mysql> select device_id, gender, age, university from user_profile where university <> '复旦大学';
+-----------+--------+------+--------------+
| device_id | gender | age | university |
+-----------+--------+------+--------------+
| 2138 | male | 21 | 北京大学 |
| 6543 | female | 20 | 北京大学 |
| 2315 | female | 23 | 浙江大学 |
| 5432 | male | 25 | 山东大学 |
+-----------+--------+------+--------------+
4 rows in set (0.00 sec)
-- 使用 not
mysql> select device_id, gender, age, university from user_profile where not university = '复旦大学';
+-----------+--------+------+--------------+
| device_id | gender | age | university |
+-----------+--------+------+--------------+
| 2138 | male | 21 | 北京大学 |
| 6543 | female | 20 | 北京大学 |
| 2315 | female | 23 | 浙江大学 |
| 5432 | male | 25 | 山东大学 |
+-----------+--------+------+--------------+
4 rows in set (0.00 sec)
10、比较运算符(5):过滤空值
题目:要查看年龄不为空的用户,取出用户的设备ID,性别,年龄,学校信息。
示例:user_profile 表的数据如下。
| id | device_id | gender | age | university | province |
|---|---|---|---|---|---|
| 1 | 2138 | male | 21 | 北京大学 | Beijing |
| 2 | 3214 | male | 复旦大学 | Shanghai | |
| 3 | 6543 | female | 20 | 北京大学 | Beijing |
| 4 | 2315 | female | 23 | 浙江大学 | ZheJiang |
| 5 | 5432 | male | 25 | 山东大学 | Shandong |
查询应返回以下结果:
| device_id | gender | age | university |
|---|---|---|---|
| 2138 | male | 21 | 北京大学 |
| 6543 | female | 20 | 北京大学 |
| 2315 | female | 23 | 浙江大学 |
| 5432 | male | 25 | 山东大学 |
解答:
-- 使用 age is not null
mysql> select device_id, gender, age, university from user_profile where age is not null;
+-----------+--------+------+--------------+
| device_id | gender | age | university |
+-----------+--------+------+--------------+
| 2138 | male | 21 | 北京大学 |
| 6543 | female | 20 | 北京大学 |
| 2315 | female | 23 | 浙江大学 |
| 5432 | male | 25 | 山东大学 |
+-----------+--------+------+--------------+
4 rows in set (0.00 sec)
-- 使用 not age is null
mysql> select device_id, gender, age, university from user_profile where not age is null;
+-----------+--------+------+--------------+
| device_id | gender | age | university |
+-----------+--------+------+--------------+
| 2138 | male | 21 | 北京大学 |
| 6543 | female | 20 | 北京大学 |
| 2315 | female | 23 | 浙江大学 |
| 5432 | male | 25 | 山东大学 |
+-----------+--------+------+--------------+
4 rows in set (0.00 sec)
边栏推荐
- FFT海浪模拟
- Kotlin learning notes 3 - lambda programming
- .NET桌面开发的一些思考
- Cesium pit -- pit used by various API calls and API itself
- You have to apologize if you get involved in the funny shop?
- What is the optimization method of transaction and database
- [报错]使用ssh登陆到另一台机器后,发现主机名还是自己|无法访问yarn8088
- 基于神经网络的帧内预测和变换核选择
- Li Kou sword finger offer 51. reverse order pairs in the array
- 半波整流点亮LED
猜你喜欢

Unity - "synthetic watermelon" small game notes
![[dark horse morning post] byte valuation has shrunk to $270billion;](/img/58/8d5c78d919ed60bc833ec4daa22e23.jpg)
[dark horse morning post] byte valuation has shrunk to $270billion; "Second uncle" video author responded to plagiarism; Renzeping said that the abolition of the pre-sale system of commercial housing

管理区解耦架构见过吗?能帮客户搞定大难题的

屈辱、抗争、逆转,三十年,中国该赢微软一次了

蓝桥集训(附加面试题)第七天

Fast classification of array.group() in ES6

Using auto.js to realize the function of fifaol3 mobile terminal card interceptor

Blue Bridge Training (additional interview questions) day 7

【ECMAScript6】Promise

《暗黑破坏神4》PS4/PS5测试版已加入PlayStation数据库
随机推荐
Half wave rectification light LED
倒计时 2 天!2022 中国算力大会:移动云邀您共见算力网络,创新发展
[ecmascript6] symbol and its related use
How does the vditor renderer achieve server-side rendering (SSR)?
PHP生成随机数(昵称随机生成器)
leetcode-190.颠倒二进制位
Three men "running away" from high positions in the mobile phone factory
什么是事务及数据库的优化方法
Facial expression recognition based on pytorch convolution - graduation project "suggestions collection"
[error] after logging in to another machine using SSH, you find that the hostname is still yourself | unable to access yarn8088
jar包
2021-10-06
今日睡眠质量记录75分
【C语言】结构体指针与结构体变量作形参的区别
C语言:优化后的归并排序
leetcode-136.只出现一次的数字
蓝桥集训(附加面试题)第七天
Blue Bridge Training (additional interview questions) day 7
持续(集成--&gt;交付--&gt;部署)
Intrinsic value and time value of options