SQL之条件查询

101 阅读1分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第19天

  • SQL36 查找后排序

image.png

SELECT device_id,age
FROM user_profile
ORDER BY age

说明: 排序子句为:

ORDER BY <列名> [ASC | DESC ]
[,<列名> … ]
按<列名>进行升序(ASC)或降序(DESC)排序,还可以按照别名或序 号进行排序。
  • SQL37 查找后多列排序

image.png

参考代码如下:

SELECT device_id ,gpa,age
FROM user_profile
ORDER BY gpa ASC, age ASC

其他代码可参考:

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;
  • SQL38 查找后降序排列

image.png

SELECT device_id,gpa,age
FROM user_profile
ORDER BY gpa DESC,age DESC  
  • SQL6 查找学校是北大的学生信息

image.png

参考代码:

SELECT device_id , university
FROM user_profile
WHERE university = '北京大学'

where 字段名\2(查询目标条件给出) = ‘要筛选的条件’;

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

image.png

参考代码:

SELECT device_id,gender,age,university
FROM user_profile
WHERE age > 24
  • SQL8 查找某个年龄段的用户信息

`

image.png

参考代码:

SELECT device_id,gender,age
FROM user_profile
-- WHERE age between 20 and 23  -- 用between ...and 也是可以的
WHERE age >= 20 AND age <= 23

题目要求的是>= 20 和 <= 23,所以这两边的值也是要取到的

  • SQL9 查找除复旦大学的用户信息

image.png

SELECT device_id,gender,age,university
FROM user_profile
WHERE university != '复旦大学'

参考代码:

SELECT device_id,gender,age,university
FROM user_profile
-- WHERE university != '复旦大学'
-- WHERE university not in ("复旦大学")
-- WHERE NOT university = '复旦大学'
-- where university not like '复旦大学'
WHERE university <> '复旦大学'

上面代码中有好几种用法:
这需要好好体会,<> 其实就是!=的变种
not like 的用法
以及not in 后面需要加上括号
以及NOT 放在WHERE之后可以直接跟上“=”的用法

  • SQL10 用where过滤空值练习 image.png

参考代码:

SELECT device_id, gender,age,university
FROM user_profile
-- WHERE NOT age = "null"
-- WHERE age <> 'null'
-- WHERE age != "null"
WHERE age is not null

注意: <> 或者!=后面跟着的都是"null";即需要将null用双引号引起来
而 is not null 是直接判断不为空;这是不需要用双引号引起来的。