描述
题目:现在运营想要查看除复旦大学以外的所有用户明细,请你取出相应数据
示例:user_profile
根据输入,你的查询应返回以下结果:
示例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);
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|山东大学
AC代码:
几种方法:
1、直接where条件语句用 !=
select device_id,gender,age,university
from user_profile
where university!="复旦大学";
2、直接where条件语句用 not in()
select device_id,gender,age,university
from user_profile
where university not in ("复旦大学");
语法举例
1)查询 city 表中 ID 不是在10~100之间的所有值。
SELECT ID
FROM city
WHERE ID NOT IN(
SELECT ID
FROM city
WHERE ID > 11 AND ID < 100);
2)查询 city 表中 ID 除 10 和 100 之外的所有值。
SELECT ID
FROM city
WHERE ID NOT IN(10,100);
3、<> 运算符
作用:表示不等于。
说明:和 “!=” 运算符的作用一致,相较之下 “<>” 的可读性较差。
select device_id,gender,age,university
from user_profile
where university <> '复旦大学';
4、not 运算符:否定它之后所跟的任何条件。
注意和第二种not in 之间的区别
SELECT `device_id`,`gender`,`age`,`university`
from user_profile
where not (university = "复旦大学")