SQL入门-产品经理学技术

产品经理经常与技术人员撕逼,往往还是被撕的对象,在这个角度,产品狗的确是弱势群体啊,看来学习一定技术知识非常有必要,你说呢?

SQL语言是用于访问和处理数据库的标准的计算机语言,做为产品经理而言,经常会对产品的使用情况进行多种数据指标的分析,在没有更多前台统计功能存在时,我们更多是通过数据库中的数据进行SQL语句的查询得出,所以我们还是需要了解一些很基础的SQL语句,今天把我总结的内容分享给大家。

这次分享主要涉及:单表查询、多表联合查询、同时给大家分享些部分常用的转换语句等,这几种方式给大家介绍常用的SQL语句。

关于单表查询:
简单的查询只需要记住 select 和 from 就可以了,用法是:select * from 【你要查询的表名】
举例:select * from student1
查询部分列,用法是:select XXXX,XXXXXX from 你要查询的表名
举例:select no,name,erp,calss from student1

除此之外,还需要记住一些限制的单词,具体如下:
1、限制性条件:where
举例:查询1班的人员信息,查询语句:select * from student1 where class=‘1班’
如果在这个基础上 有多个条件 后面 会再 加上 and 或是 or 去满足多个限制条件查询
举例:查询2班里是男生的人员信息,查询语句:select * from student1 where class=‘2班’and sex=‘男’

2、以XXX进行排序:ORDER BY
举例:按照班级进行排序展示,查询语句:select * from student1 ORDER BY class
当然,这个ORDER BY 也可以后面写多列,用,分隔即可,这样就会按照多列依次排序展示
假如需要按照升序和降序展示的话,也可以后面加上 DESC or ASC,
例如:select * from student1 ORDER BY class desc,age asc

3、去重查询:DISTINCT
举例:学生都来自哪些地方?查询语句:select DISTINCT native place from student1

4、选取介于两个值之间的数据范围:where XXX between … and
举例:在20-23岁的学生有哪些?查询语句:select * from student1 where age between 20 and 23
注:不同的数据库对 between…and 操作符的处理方式是有差异的。
某些数据库会列出介于 “20” 和 “23” 之间的人,但不包括 “20” 和 “23” ;
某些数据库会列出介于 “20” 和 “23” 之间并包括 “20” 和 “23” 的人;
而另一些数据库会列出介于 “20” 和 “23” 之间的人,包括 “20” ,但不包括 “23”

5、对于4延伸讲,还有不介于XXX之间的,再between前面增加一个not
举例:不在20-23岁的学生有哪些?查询语句:select * from student1 where age not between 20 and 23

6、要查询某列中值为多个的,可以用in(‘XX’,‘XX1’)这种方式
举例:查询北京和上海的学生信息,查询语句:select * from student1 where native place in (’北京’,‘上海’)

7、万能的like使用,比如我要查询所有姓张的学生,或是erp中包含那个字母/那几个字母的,或是以某列中以XXX为结束的,都可以通过like实现,也可以结合not like实现,不过通常都会和 “%”通配符联合使用,比如:‘张%’、‘%XXX%
举例:
查询所有姓张的学生,查询语句:select * from student1 where name like ‘张%’

其他常用的函数如下:
1、查询一共多少条数据:count
举例:查询学生表中一共多少条记录,查询语句:select count(*)from student1
查询结果:6

2、查询汇总后结果:sum
举例:查询学生表中年龄加和后是多少,查询语句:select sum(age)from student1
查询结果:131

3、查询均值是:avg
举例:查询学生表中年龄加和后是多少,查询语句:select avg(age)from student1
查询结果:21.83

4、查询最大值:max
举例:查询学生表中年龄加和后是多少,查询语句:select max(age)from student1
查询结果:25

5、查询最小值:min
举例:查询学生表中年龄加和后是多少,查询语句:select min(age)from student1
查询结果:20

6、函数用于把数值字段舍入为指定的小数位数 round,常用法:select round(查询的字段名,几位小数) from 表名

7、用于对字段的显示进行格式化,通常用于时间格式使用:date_format,常用法:select date_format (字段名,格式) from表名
常用转换格式如下:
查询某天: date_format(字段, “%Y-%m-%d” )
某月:date_format(字段, “%Y-%m” )
某时:date_format(字段, “%Y-%m-%d %H” )

8、转换日期to_date, 通常用于时间格式使用:to_date,常用法:to_date(字段名)

9、过滤空格的函数:TRIM ,常用法:select trim(字段名) from表名

10、转大写字母的:ucase,常用法:select ucase (查询的字段名) from 表名
转小写字母: lcase,常用法:select lcase (查询的字段名) from 表名
多表联合查询:下期补充,敬请关注~

1

评论0

请先

没有账号? 忘记密码?

社交账号快速登录