当前位置:网站首页>【第2天】SQL快速入门-条件查询(SQL 小虚竹)
【第2天】SQL快速入门-条件查询(SQL 小虚竹)
2022-08-08 12:34:00 【小虚竹】
回城传送–》《32天SQL筑基》
文章目录
零、前言
今天是学习 SQL 打卡的第 2 天,每天我会提供一篇文章供群成员阅读( 不需要订阅付钱 )。
希望大家先自己思考,如果实在没有想法,再看下面的解题思路,自己再实现一遍。在小虚竹JAVA社区 中对应的 【打卡贴】打卡,今天的任务就算完成了,养成每天学习打卡的好习惯。
虚竹哥会组织大家一起学习同一篇文章,所以有什么问题都可以在群里问,群里的小伙伴可以迅速地帮到你,一个人可以走得很快,一群人可以走得很远,有一起学习交流的战友,是多么幸运的事情。
我的学习策略很简单,题海策略+ 费曼学习法。如果能把这些题都认认真真自己实现一遍,那意味着 SQL 已经筑基成功了。后面的进阶学习,可以继续跟着我,一起走向架构师之路。
今天的学习内容是:条件查询
一、练习题目
题目链接 | 难度 |
---|---|
基础排序:SQL36 查找后排序 | ***** |
基础排序:SQL37 查找后多列排序 | ***** |
基础操作符:SQL6 查找学校是北大的学生信息 | ***** |
基础操作符:SQL9 查找除复旦大学的用户信息 | ***** |
高级操作符:SQL13 Where in 和Not in | ***** |
高级操作符:SQL14 操作符混合运用 | ***** |
二、SQL思路
基础排序:SQL36 查找后排序
解法
1、第一种解法:要按用户的年龄升序排序,要用到关键词:order by
默认是升序
select device_id,age
from user_profile
order by age
2、第二种解法:
要按用户的年龄升序排序,要用到关键词:order by asc | desc
asc代表升序
desc代表降序
select device_id,age
from user_profile
order by age asc
基础排序:SQL37 查找后多列排序
解法
要求:按照gpa升序排序,再按照年龄升序排序输出
1、第一种解法:要用到关键词:order by
多个字段用“ , ”隔开,默认是升序
select device_id,gpa,age
from user_profile
order by gpa,age;
2、第二种解法:要用到关键词:order by asc | desc
多个字段用“ , ”隔开,
asc代表升序
desc代表降序
select device_id,gpa,age
from user_profile
order by gpa asc,age asc;
基础操作符:SQL6 查找学校是北大的学生信息
解法
第一种解法:在where 条件后,添加条件,university字段的值等于 北京大学
select device_id,university from user_profile where university='北京大学';
第一种解法:在where 条件后,添加条件,使用 like 关键字进行匹配。
select device_id,university from user_profile where university like '北京大学';
基础操作符:SQL9 查找除复旦大学的用户信息
解法
第一种解法:在where 条件后,添加条件,使用 != 不等于的条件
注:这个只能添加一个值
select device_id,gender,age,university
from user_profile
where university !='复旦大学';
第二种解法:在where 条件后,添加条件,使用 not in 的条件
注:这个可以添加多个值,像这样
not in(‘A’,‘B’,‘C’)
select device_id,gender,age,university
from user_profile
where university not in('复旦大学');
第三种解法:在where 条件后,添加条件,使用 not like 的条件
select device_id,gender,age,university
from user_profile
where university not like '复旦大学'
第四种解法:在where 条件后,添加条件,使用 not like 的条件
select device_id,gender,age,university
from user_profile
where university not like '复旦大学'
第五种解法:在where 条件后,添加条件,使用 <> 的条件
注: sql中有两种方式表示不等于,一种是"<>“(不含引号),另一种是”!="(不含引号),用法是一样的
select device_id,gender,age,university
from user_profile
where university <> '复旦大学'
高级操作符:SQL13 Where in 和Not in
解法
第一种解法:使用in 条件,可添加多个值,符合in里的值,会被搜索出来
select device_id,gender,age,university,gpa
from user_profile
where university in('北京大学','复旦大学','山东大学');
第二种解法:使用not in 条件,可添加多个值。
select device_id,gender,age,university,gpa
from user_profile
where university not in('浙江大学');
高级操作符:SQL14 操作符混合运用
解法
这题包含了多个条件的混用:
- gpa在3.5以上(不包括3.5)的山东大学用户,这是一个大条件
- gpa在3.8以上(不包括3.8)的复旦大学同学,这也是一个大条件
- 多个大条件的话,可以用括号包起来
- 中间有要求用或,这里要用关键字:OR
select device_id,gender,age,university,gpa
from user_profile
where (gpa>3.5 and university='山东大学') or (gpa>3.8 and university='复旦大学')
边栏推荐
猜你喜欢
将小部分源码设计精髓带入到开发中来(工厂模式、适配器模式、抽象类、监听器)
Study: Toxic PFAS chemicals make rainwater unsafe to drink around the world
程序环境和预处理
字节跳动资深架构师整理2022年秋招最新面试题汇总:208页核心体系
Redis的那些事:一文入门Redis的基础操作
The most complete JVM performance tuning in history: thread + subsystem + class loading + memory allocation + garbage collection
RT-Thread记录(三、RT-Thread 线程操作函数及线程管理与FreeRTOS的比较)
2022-08-05
SQL实例 - 胜平负
移位运算、位运算、逻辑运算相关知识点及笔试题
随机推荐
"Huashu Cup" modeling learning (Matlab)
手绘地图制作的关键点之“图层覆盖”
是不是只有字符串的数字水印能一直保留并且不影响计算,其他类型的字段导入数据库之后水印就会丢失?
宏任务和微任务——三目算符与加号优先级——原生的js如何禁用button——0xff ^ 33 的结果是——in的用法——正则匹配网址
【C语言】文件相关操作
The use of string function, character function, memory function and its analog implementation
xxd命令(反编译、二进制文件转十六进制文件)
将小部分源码设计精髓带入到开发中来(工厂模式、适配器模式、抽象类、监听器)
(4)FlinkSQL将socket数据写入到mysql方式一
C语言小项目 -- 通讯录(静态版+动态版+文件版)
期货开户的交易通道和后续服务
Jenkins - install (2)
学习与尝试 --&gt; 事件风暴
简析LDO静态电流与功耗的关系
建材业深陷数字化困局,B2B协同系统标准化交易流程,解决企业交易网络化难题
What is the IP SSL certificate, how to apply for?
金融行业数智化供应链管理系统:多维度评估分析供应商,赋能智能金融变革
Pointer and array written test questions analysis
MySQL安装及使用
别再到处乱放配置文件了!试试我司使用 7 年的这套解决方案,稳的一秕