SQL刷题系列之基础篇

本文是一篇关于SQL基础查询的刷题记录,涵盖了多列查询、去重、排序、条件筛选、分组、联接查询等核心概念,通过实例介绍了如`DISTINCT`, `LIMIT`, `ORDER BY`, `WHERE`, `LIKE`等常用操作,帮助读者巩固SQL基础知识。" 112029910,10331276,QJsonArray删除所有元素问题及解决,"['C++编程', 'Qt库', 'JSON处理']
摘要由CSDN通过智能技术生成

SQL刷题系列之基础篇

开篇简介

题目来源于牛客网,边刷题边记录巩固,为了方便自己复习和分享。基础篇即入门教程,有些很简单的就不解释了,一步步来,无需着急,学徒心态。(有借鉴许多人的题解链接等,知识搬运工,侵删)

~

部分规则,照顾萌新
标点符号切记要英文的,不能中文的标点符号!!!
在这里插入图片描述

~

基础查询

SQL1 查询多列

描述
题目:现在运营同学想要用户的设备id对应的性别、年龄和学校的数据,请你取出相应数据

示例:user_profile
在这里插入图片描述
在这里插入图片描述

select device_id, gender, age, university
from user_profile

SQL2 查询所有列

在这里插入图片描述

select *
from user_profile

或者

select id, device_id, gender, age, university, province
from user_profile

SQL3 查询结果去重(DISTINCT)

在这里插入图片描述

select DISTINCT university
from user_profile

distinct这个关键字用来过滤掉多余的重复记录只保留一条,可以理解为过滤。

SQL4 查询结果限制返回行数(limit)

在这里插入图片描述

select device_id
from user_profile limit 2

利用 limit 来限制查询结果的返回行数

SQL5 将查询后的列重新命名(as)

在这里插入图片描述

select device_id as user_infos_example
from user_profile limit 2

只是在上一题基础上将列名用 as 修改了

排序

SQL36 查找后排序(order by)

在这里插入图片描述

select device_id, age
from user_profile
order by age ASC

order by 列名 按照’列名‘进行排序,asc/desc 升序/降序,根据要求使用(不写默认是asc 升序)

SQL37 查找后多列排序

在这里插入图片描述
以下三种都可以,因为order by 默认升序。

SELECT device_id,gpa,age from user_profile order by gpa,age;
SELECT device_id,gpa,age from user_profile order by gpa,age asc;
SELECT device_id,gpa,age from user_profile order by gpa asc,age asc;

条件查询

SQL6 查找学校是北大的学生信息(where)

在这里插入图片描述

select device_id, university
from user_profile
where university='北京大学'

where 后接条件

SQL7 查找年龄大于24岁的用户信息

在这里插入图片描述

select device_id, gender, age, university
from user_profile
where age > 24

SQL8 查找某个年龄段的用户信息(between … and …)

在这里插入图片描述

select device_id, gender, age
from user_profile
where age >= 20 and age <= 23

可以用 and 合并两个条件

select device_id, gender, age
from user_profile
where age BETWEEN 20 and 23

也可以用 between and 达到同样的效果

SQL9 查找除复旦大学的用户信息(!=,not in 用法)

在这里插入图片描述

select device_id, gender, age, university
from user_profile
where university !='复旦大学'

!= 相当于 ’不等于‘的意思

还可以这样子

select device_id, gender, age, university
from user_profile
where university not in ('复旦大学')

列名 [NOT] IN(常量1, 常量2,…常量n)
IN:当列中的值与IN中的某个常量值相等时,则结果为True,表明此记录为符合查询条件的记录。
NOT IN:当列中的值与某个常量值相等时,结果为False,表明此记录为不符合查询条件的记录。

SQL10 用where过滤空值练习

在这里插入图片描述

select device_id, gender, age, university
from user_profile
where age != ''
select device_id, gender, age, university
from user_profile
where age is not NULL

这里的考点就是考察数据库的空值,MySQL里的是null

SQL13 Where in 和Not in

在这里插入图片描述

select device_id,gender,age,university,gpa from user_profile
where university in('北京大学','复旦大学','山东大学');

SQL14 操作符混合运用(AND 、OR)

  • 5
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值