『百日百题 · 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 ANDAND 布尔表达式n
  • AND表示只有当全部的布尔表达式均为真时,整个表达式的结果才为真;只要有一个布尔表达式的结果为假,则整个表达式结果即为假。

使用OR谓词的语法格式如下:

布尔表达式1 OR 布尔表达式2 OROR 布尔表达式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;

考察知识:

关于ANDOR的相关知识在第一题已经讲述过了,这里唯一要知道的就是AND的优先级是高与OR的优先级。

SQL15 查看学校名称中含北京的用户

题目:

在这里插入图片描述

题解:

SELECT device_id,age,university 
FROM user_profile
WHERE university LIKE '%北京%';

考察知识:

模糊查询,字符匹配,一般形式为:

列名 [NOT] LIKE

匹配串中可包含如下四种通配符:

  • _:匹配任意一个字符;
  • %:匹配0个或多个任意字符;
  • [ ]:匹配[ ]中的任意一个字符(若要比较的字符是连续的,则可以用连字符“-”表 达 );
  • [^ ]:不匹配[ ]中的任意一个字符;

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注