第一例:查询多列
- 题目地址:查询多列牛客题霸牛客网 (nowcoder.com)
- 初始化数据
droptable if exists user_profile;
CREATETABLE `user_profile` (
`id` intNOTNULL,
`device_id` intNOTNULL,
`gender` varchar(14) NOTNULL,
`age` int ,
`university` varchar(32) NOTNULL,
`province` varchar(32) NOTNULL);
INSERTINTO user_profile VALUES(1,2138,'male',21,'北京大学','BeiJing');
INSERTINTO user_profile VALUES(2,3214,'male',null,'复旦大学','Shanghai');
INSERTINTO user_profile VALUES(3,6543,'female',20,'北京大学','BeiJing');
INSERTINTO user_profile VALUES(4,2315,'female',23,'浙江大学','ZheJiang');
INSERTINTO user_profile VALUES(5,5432,'male',25,'山东大学','Shandong');
- 解:题目就是按照id查询把所有得数据查询出来:select 字段名 from 表名 记住千万不能使用*可能会导致效率低下
第二例:查询结果去重
- 题目地址:查询结果去重牛客题霸牛客网 (nowcoder.com)
- 初始化数据:
droptable if exists user_profile;
CREATETABLE `user_profile` (
`id` intNOTNULL,
`device_id` intNOTNULL,
`gender` varchar(14) NOTNULL,
`age` int ,
`university` varchar(32) NOTNULL,
`province` varchar(32) NOTNULL);
INSERTINTO user_profile VALUES(1,2138,'male',21,'北京大学','BeiJing');
INSERTINTO user_profile VALUES(2,3214,'male',null,'复旦大学','Shanghai');
INSERTINTO user_profile VALUES(3,6543,'female',20,'北京大学','BeiJing');
INSERTINTO user_profile VALUES(4,2315,'female',23,'浙江大学','ZheJiang');
INSERTINTO user_profile VALUES(5,5432,'male',25,'山东大学','Shandong');
- 法一:使用关键词:distinct 去重:select distinct university from user_profile;
- 法二:使用分组group by:select university from user_profile group by university;
第三例:查询结果限制返回行数
- 题目地址:查询结果限制返回行数牛客题霸牛客网 (nowcoder.com)
- 初始化数据:
droptable if exists user_profile;
CREATETABLE `user_profile` (
`id` intNOTNULL,
`device_id` intNOTNULL,
`gender` varchar(14) NOTNULL,
`age` int ,
`university` varchar(32) NOTNULL,
`province` varchar(32) NOTNULL);
INSERTINTO user_profile VALUES(1,2138,'male',21,'北京大学','BeiJing');
INSERTINTO user_profile VALUES(2,3214,'male',null,'复旦大学','Shanghai');
INSERTINTO user_profile VALUES(3,6543,'female',20,'北京大学','BeiJing');
INSERTINTO user_profile VALUES(4,2315,'female',23,'浙江大学','ZheJiang');
INSERTINTO user_profile VALUES(5,5432,'male',25,'山东大学','Shandong');
- 法一:使用where关键字:select device_id from user_profile where id<=2;
- 法二:使用limit关键字:select device_id from user_profile limit 2;
- 3、第三种解法:使用mysql的 limit 关键字,第一个参数指定第一个返回记录行的偏移量(偏移量是 0 ),第二个参数指定返回记录行的最大数目:elect device_id from user_profile limit 0,2;