一、条件查询
1、高级操作符
1.1 SQL11 高级操作符练习(1)
描述
题目:现在运营想要找到男性且GPA在3.5以上(不包括3.5)的用户进行调研,请你取出相关数据。
示例1
输入: 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.0 5432|male|25|山东大学|3.8
select device_id, gender, age, university, gpa from user_profile where gender = 'male' and gpa > 3.5
1.2 SQL12 高级操作符练习(2)
描述
题目:现在运营想要找到学校为北大或GPA在3.7以上(不包括3.7)的用户进行调研,请你取出相关数据(使用OR实现)
示例1
输入: 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); 输出: 2138|male|21|北京大学|3.4 3214|male|None|复旦大学|4.0 6543|female|20|北京大学|3.2 5432|male|25|山东大学|3.8
select device_id, gender, age, university, gpa from user_profile where university = '北京大学' or gpa > 3.7
1.3 SQL13 Where in 和Not in
描述
题目:现在运营想要找到学校为北大、复旦和山大的同学进行调研,请你取出相关数据。
示例1
输入: 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); 输出: 2138|male|21|北京大学|3.4 3214|male|None|复旦大学|4.0 6543|female|20|北京大学|3.2 5432|male|25|山东大学|3.8
1.3.1 SQL语句 where in(推荐写法)
select device_id, gender, age, university, gpa from user_profile where university in ('北京大学', '复旦大学', '山东大学')
1.3.2 SQL语句 not in(不推荐,除非单一选项)
select device_id, gender, age, university, gpa from user_profile where university not in ('浙江大学')