个人主页:@与自己作战 大数据领域创作者
牛客刷题系列篇:【SQL篇】【Python篇】【Java篇】
推荐刷题网站注册地址:【牛客网–SQL篇】
推荐理由:从0-1起步,循序渐进
网址注册地址:【牛客网–注册地址】
文章目录
- 一、条件查询
- 1、基础操作符
- 1.1 SQL9 查找除复旦大学的用户信息
- 1.1.1 SQL语句 第一种方法(执行效率略高)
- 1.1.2 SQL语句 第二种方法(执行效率略低)
- 1.2 SQL10 用where过滤空值练习
- 1.2.1 SQL语句 第一种方法(执行效率略低)
- 1.2.2 SQL语句 第二种方法(执行效率略高)
- 1.2.3 SQL语句 第三种方法(执行效率一般,普遍写法)
一、条件查询
1、基础操作符
1.1 SQL9 查找除复旦大学的用户信息
- 描述
题目:现在运营想要查看除复旦大学以外的所有用户明细,请你取出相应数据
- 示例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);
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’);
输出:
2138|male|21|北京大学
6543|female|20|北京大学
2315|female|23|浙江大学
5432|male|25|山东大学
输入:
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');输出:
2138|male|21|北京大学
6543|female|20|北京大学
2315|female|23|浙江大学
5432|male|25|山东大学
1.1.1 SQL语句 第一种方法(执行效率略高)
select
device_id,
gender,
age,
university
from
user_profile
where
university != ‘复旦大学’
selectdevice_id,gender,age,university
fromuser_profile
whereuniversity != '复旦大学'
1.1.2 SQL语句 第二种方法(执行效率略低)
select
device_id,
gender,
age,
university
from
user_profile
where
university <> ‘复旦大学’
selectdevice_id,gender,age,university
fromuser_profile
whereuniversity <> '复旦大学'
1.2 SQL10 用where过滤空值练习
- 描述
题目:现在运营想要对用户的年龄分布开展分析,在分析时想要剔除没有获取到年龄的用户,请你取出所有年龄值不为空的用户的设备ID,性别,年龄,学校的信息。
- 示例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);
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’);
输出:
2138|male|21|北京大学
6543|female|20|北京大学
2315|female|23|浙江大学
5432|male|25|山东大学
输入:
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');输出:
2138|male|21|北京大学
6543|female|20|北京大学
2315|female|23|浙江大学
5432|male|25|山东大学
1.2.1 SQL语句 第一种方法(执行效率略低)
select
device_id,
gender,
age,
university
from
user_profile
where
age != ’ ’
selectdevice_id,gender,age,university
fromuser_profile
whereage != ' '
1.2.2 SQL语句 第二种方法(执行效率略高)
select
device_id,
gender,
age,
university
from
user_profile
where
age <> ’ ’
selectdevice_id,gender,age,university
fromuser_profile
whereage <> ' '
1.2.3 SQL语句 第三种方法(执行效率一般,普遍写法)
select
device_id,
gender,
age,
university
from
user_profile
where
age is not null
selectdevice_id,gender,age,university
fromuser_profile
whereage is not null
推荐刷题网站:【牛客网–SQL篇】
网址注册地址:【牛客网–注册地址】