【牛客刷题--SQL篇】SQL14操作符混合运用(多种写法)&&SQL15查看学校名称中含北京的用户
个人主页:@与自己作战 大数据领域创作者
牛客刷题系列篇:【SQL篇】【Python篇】【Java篇】
推荐刷题网站注册地址:【牛客网–SQL篇】
推荐理由:从0-1起步,循序渐进
网址注册地址:【牛客网–注册地址】
文章目录
- 一、条件查询
- 1、高级操作符
-
- 1.1、SQL14 操作符混合运用
-
- 1.1.1、SQL语句(第一种写法)
- 1.1.2、SQL语句(第二种写法)
- 1.1.3、SQL语句(第三种写法)
- 1.2、SQL15 查看学校名称中含北京的用户
一、条件查询
1、高级操作符
1.1、SQL14 操作符混合运用
- 描述
题目:现在运营想要找到gpa在3.5以上(不包括3.5)的山东大学用户 或 gpa在3.8以上(不包括3.8)的复旦大学同学进行用户调研,请你取出相应数据
- 示例1
输入:
drop table if exists user_profile;
CREATE TABLEuser_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,
gpa
float);
INSERT INTO user_profile VALUES(1,2138,‘male’,21,‘北京大学’,‘BeiJing’,3.4);
INSERT INTO user_profile VALUES(2,3214,‘male’,null,‘复旦大学’,‘Shanghai’,4.0);
INSERT INTO user_profile VALUES(3,6543,‘female’,20,‘北京大学’,‘BeiJing’,3.2);
INSERT INTO user_profile VALUES(4,2315,‘female’,23,‘浙江大学’,‘ZheJiang’,3.6);
INSERT INTO user_profile VALUES(5,5432,‘male’,25,‘山东大学’,‘Shandong’,3.8);
输出:
3214|male|None|复旦大学|4.0
5432|male|25|山东大学|3.8
输入: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,`gpa` float);INSERT INTO user_profile VALUES(1,2138,'male',21,'北京大学','BeiJing',3.4);INSERT INTO user_profile VALUES(2,3214,'male',null,'复旦大学','Shanghai',4.0);INSERT INTO user_profile VALUES(3,6543,'female',20,'北京大学','BeiJing',3.2);INSERT INTO user_profile VALUES(4,2315,'female',23,'浙江大学','ZheJiang',3.6);INSERT INTO user_profile VALUES(5,5432,'male',25,'山东大学','Shandong',3.8);复制输出:3214|male|None|复旦大学|4.05432|male|25|山东大学|3.8
1.1.1、SQL语句(第一种写法)
select
device_id,
gender,
age,
university,
gpa
from
user_profile
where
(
gpa > 3.5
and university = ‘山东大学’
)
or (
gpa > 3.8
and university = ‘复旦大学’
)
select device_id, gender, age, university, gpafrom user_profilewhere ( gpa > 3.5 and university = '山东大学' ) or ( gpa > 3.8 and university = '复旦大学' )
1.1.2、SQL语句(第二种写法)
select
device_id,
gender,
age,
university,
gpa
from
user_profile
where
gpa > 3.5
and university = ‘山东大学’
union
select
device_id,
gender,
age,
university,
gpa
from
user_profile
where
gpa > 3.8
and university = ‘复旦大学’
select device_id, gender, age, university, gpafrom user_profilewhere gpa > 3.5 and university = '山东大学'unionselect device_id, gender, age, university, gpafrom user_profilewhere gpa > 3.8 and university = '复旦大学'
1.1.3、SQL语句(第三种写法)
select
device_id,
gender,
age,
university,
gpa
from
user_profile
where
gpa > 3.5
and university = ‘山东大学’
union all
select
device_id,
gender,
age,
university,
gpa
from
user_profile
where
gpa > 3.8
and university = ‘复旦大学’
select device_id, gender, age, university, gpafrom user_profilewhere gpa > 3.5 and university = '山东大学'union allselect device_id, gender, age, university, gpafrom user_profilewhere gpa > 3.8 and university = '复旦大学'
1.2、SQL15 查看学校名称中含北京的用户
- 描述
题目:现在运营想查看所有大学中带有北京的用户的信息,请你取出相应数据。
- 示例1
输入:
drop table if exists user_profile;
CREATE TABLEuser_profile
(
id
int NOT NULL,
device_id
int NOT NULL,
gender
varchar(14) NOT NULL,
age
int ,
university
varchar(32) NOT NULL,
gpa
float);
INSERT INTO user_profile VALUES(1,2138,‘male’,21,‘北京大学’,3.4);
INSERT INTO user_profile VALUES(2,3214,‘male’,null,‘复旦大学’,4.0);
INSERT INTO user_profile VALUES(3,6543,‘female’,20,‘北京大学’,3.2);
INSERT INTO user_profile VALUES(4,2315,‘female’,23,‘浙江大学’,3.6);
INSERT INTO user_profile VALUES(5,5432,‘male’,25,‘山东大学’,3.8);
INSERT INTO user_profile VALUES(6,2131,‘male’,28,‘北京师范大学’,3.3);
输出:
2138|21|北京大学
6543|20|北京大学
2131|28|北京师范大学
输入: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,`gpa` float);INSERT INTO user_profile VALUES(1,2138,'male',21,'北京大学',3.4);INSERT INTO user_profile VALUES(2,3214,'male',null,'复旦大学',4.0);INSERT INTO user_profile VALUES(3,6543,'female',20,'北京大学',3.2);INSERT INTO user_profile VALUES(4,2315,'female',23,'浙江大学',3.6);INSERT INTO user_profile VALUES(5,5432,'male',25,'山东大学',3.8);INSERT INTO user_profile VALUES(6,2131,'male',28,'北京师范大学',3.3);复制输出:2138|21|北京大学6543|20|北京大学2131|28|北京师范大学
- SQL语句
select
device_id,
age,
university
from
user_profile
where
university like ‘%北京%’
select device_id, age, universityfrom user_profilewhere university like '%北京%'
推荐刷题网站:【牛客网–SQL篇】
网址注册地址:【牛客网–注册地址】