本专栏『百日百题』长期更新,一起加入本刷题计划,一起成长吧! 🏳️🌈点击可关注本专栏
文章目录
前言
为什么要学习SQL?
SQL是目前使用最广泛的数据库语言。 不管你是程序员、数据分析师、Web开发者、互联网运营,或者做报表的职场白领,掌握良好的SQL知识对用好数据库是极大的帮助,而且在面试中也会对SQL进行一定程度的考察,所以说我们学习SQL是非常必要,也是非常重要的!
为什么要刷题?
编程要在实践中学习,就像游泳要通过游泳来练习。很多学生喜欢把编程当成古诗词去背诵,背诵各种语法,这样是不对的。
学编程应该像学开车一样。教练给学员讲解基本步骤后,主要靠学员在练车过程中去巩固回忆,更多时候靠的是肌肉记忆。
想要掌握一门语言就得,对其多加练习,这样才能在用到的时候运筹帷幄!
用什么刷题?
这里我极力推荐牛客网,我们平时写算法题都是在Leetcode之类上面的,当然Leetcode上面也有SQL相关题目,但是必须得会员才可以刷,这对很多人都不太友好。而牛客网就不一样了。
牛客网上面的SQL题目几乎都是免费的,大家只要想刷就可以刷,而且牛客网不只是一个题目它是教学平台,都配有视频讲解,需要的同学可以去看。最重要的就是牛客网对所有的SQL题目进行了分类,适合不同阶段的同学,所以我极力推荐大家使用牛客网!
本专栏文章即将带你从基础SQL语法到复杂SQL语句,循序渐进持续练习,加入刷题计划一起加油吧!
为了方便刷题我直接把牛客网的链接放在下面,大家点击蓝色字体就可以直接进行跳转刷题了!
传送门:刷题传送门
本系列文章即将带你从SQL基础语法到SQL复杂语句,循序渐进持续练习,加入刷题计划一起加油吧!
SQL11 高级操作符练习(1)
题目:
题解:
SELECT device_id,gender,age,university,gpa
FROM user_profile
WHERE gender = 'male' AND gpa > 3.5;
考察知识:
多重条件查询
在WHERE子句中可以使用逻辑运算符AND和OR来组成多条件查询。
使用AND谓词的语法格式如下:
布尔表达式1 AND 布尔表达式2 AND … AND 布尔表达式n
AND
表示只有当全部的布尔表达式均为真时,整个表达式的结果才为真;只要有一个布尔表达式的结果为假,则整个表达式结果即为假。
使用OR谓词的语法格式如下:
布尔表达式1 OR 布尔表达式2 OR … OR 布尔表达式n
OR
表示只要其中一个布尔表达式为真,则整个表达式的结果即为真;只有当全部布尔表达式的结果均为假时,整个表达式结果才为假。
SQL12 高级操作符练习(2)
题目:
题解:
SELECT device_id,gender,age,university,gpa
FROM user_profile
WHERE university='北京大学' OR gpa > 3.7;
SQL13 Where in 和Not in
题目:
题解:
SELECT device_id,gender,age,university,gpa
FROM user_profile
WHERE university IN ('北京大学' , '复旦大学', '山东大学');
考察知识:
确定集合
用来查找属性值属于指定集合的元组,格式为:
列名 [NOT] IN(常量1, 常量2,…常量n)
IN
:当列中的值与IN中的某个常量值相等时,则结果为True,表明此记录为符合查询条件的记录。NOT IN
:当列中的值与某个常量值相等时,结果为False,表明此记录为不符合查询条件的记录。
SQL14 操作符混合运用
题目:
题解:
SELECT device_id,gender,age,university,gpa
FROM user_profile
WHERE university='山东大学' AND gpa>3.5 OR university='复旦大学' AND gpa>3.8;
考察知识:
关于AND
和OR
的相关知识在第一题已经讲述过了,这里唯一要知道的就是AND
的优先级是高与OR
的优先级。
SQL15 查看学校名称中含北京的用户
题目:
题解:
SELECT device_id,age,university
FROM user_profile
WHERE university LIKE '%北京%';
考察知识:
模糊查询,字符匹配,一般形式为:
列名 [NOT] LIKE
匹配串中可包含如下四种通配符:
_
:匹配任意一个字符;%
:匹配0个或多个任意字符;[ ]
:匹配[ ]中的任意一个字符(若要比较的字符是连续的,则可以用连字符“-”表 达 );[^ ]
:不匹配[ ]中的任意一个字符;
结语
为了方便刷题我直接把刷题网站的链接放在下面,大家点击蓝色字体就可以直接进行跳转刷题了!
传送门:刷题神器
刷题这件事,大家一定要认真起来,不可懈怠!
日积月累,方成大器!