SQL学习笔记(3):行和列的操作

279 阅读2分钟

这是我参与更文挑战的第12天,活动详情查看:更文挑战

作者:可乐

来源:可乐的数据分析之路

转载请联系授权(微信ID:data_cola)

一、 对列的查询

Excel里对于一张表,只想选取其中的某几列,只需复制列的值粘贴到新表即可,

1、 查询一个列

--select 列名 from 表名; 查询student表里sname一列的值

image.png

2、 查询多个列

列之间用逗号分隔 --select 列1,列2 from 表名 查询sname和sage两个列的值

image.png

3、 查询所有列

通配符 * --select * from 表名; 查询student1这个表的所有列的值

image.png

4、 查询该列中不重复的值(去重)

Distinct --select distinct 列名 from 表名; 对sex一列进行去重(没什么意义)

image.png

二、 对列的值排序

Excel升序降序排列时筛选、排序

1、 升序排列

Order by 关键字,后面跟要安装哪一列排序,默认是升序,也可以直接写明ASC --select 列名 from 表名 order by 列; 按snum一列升序排列

image.png

2、 降序排列

DESC关键字,降序排列 -- select 列名 from 表名 order by 列 DESC; 按snum一列降序排列

image.png

3、 多个列排序

--select 列1,列2 from 表名 order by 列1 DESC, 列2 ASC;

三、 对行的筛选

Excel里筛选

image.png

1、单条件筛选

--select 列名 from 表名 where 列 操作符 值; 注:

  • 字符要加单引号

  • Order by 在 where 之后使用 【=】

image.png

【<】

image.png

【>】

image.png

【<>】

image.png

【between】

image.png

2、多条件筛选

逻辑运算符:AND OR NOT AND:与,表示必须几个条件同时满足; OR:或,表示几个条件中有一个满足即可; NOT:非,否定

--select 列名 from 表名 where 列 操作符 值 and/or 列 操作符 值;

【and】 这里用另一张表sc表,选择分数大于60分且学号为1的所有记录。

image.png

【or】

image.png

【and or 同时】

image.png

image.png

注:and 和 or可以组合使用,若不加括号,则优先进行and计算

3、 IN

IN的功能和OR是一样的

--select 列名 from 表名 where 列 in (值1,值2);

image.png

4、 LIKE

LIKE的功能类似Excel里筛选里的模糊查找。

--select 列 from 表 where 列 like 条件;

百分号(%)表示多个任意想要匹配的字符。

下划线(_)同%的匹配,只是只能匹配单个字符。

image.png