oracle 查询表字段_PM常用SQL查询大全

fdf0c5a6818ae8879ea9cf047b803e42.png

文/PM 稳稳Jayden

配图/伦敦眼 Pixabay

【全文目录】

1 写在前面
2 SQL语句回顾
3 小结

1 写在前面

SQL作为PM必备技能之一,是产品经理分析数据的基础手段。然而当实际应用时,却往往又仿佛茫然四顾、无从下手。

究其根本,一方面是不知道如何查询公司部门所使用的表名&表字段,另一方面则是对于Hive里有些SQL语句总是不会写。

此时,选择分而治之的方案显得极为重要:

对于不知公司表名与表字段的情况,可向同事或者合作伙伴寻求帮助,切记最好一次性将所有表问题都罗列出来,尽量避免二次询问,毕竟难免尴尬;
对于第二种SQL语句的编写,就要靠自身的知识积累与编写SQL时的应变能力。

话不多说,步入正题。

2 SQL语句回顾

以下作者将SQL各类常用代码一一枚举,供未来直接索引,以备不时之需。(SQL不区分大小写)

栗子:

66fd83146181a77d61a2c5ee01fe3430.png

1)查询表内的某字段——最基础的语句格式

SELECT empno, ename FROM t_employee;
其中empno, ename是按照顺序将该两列属性铺展出来;「*」为全部选择。

2)避免重复数据查询——DISTINCT

SELECT DISTINCT job FROM t_employ;
DISTINCT可将job属性中想通的属性合并,如1 3 3 5 7,只会展示1 3 5 7 ;若同时选择两列,则会将两列一一对应穷举;如:
SELECT DISTINCT ename, job FROM t_employ;

3)SQL支持四则运算数据查询

SELECT ename ,sal * 12 FROM t_employ;
其中sal * 12表示年薪,若其后跟上yearsalary则会将「yearsalary」作为列属性的标题;
SELECT ename, sal * 12 yearsalary FROM t_employ;

4)条件数据查询,关键字WHERE

SELECT ename FROM t_employ WHERE job = 'CLERK';
SELECT ename FROM t_emoloy WHERE job = 'CLERK'&& sal >800;

5)带BETWEEN AND关键字的范围查询:

SELECT ename FROM t_emoploy WHERE sal BETWEEN 1000 AND 2000;
SELECT ename FROM t_emoploy WHERE sal NOT BETWEEN 1000 AND 2000;

6)空值、空字符串与0是有区别的,空值由IS NULL判断

SELECT ename FROM t_employ WHERE sal IS (NOT) NULL;

7)带IN关键字的集合查询

SELECT ename FROM t_employ WHERE empno = 7521 or empno = 7782;
SELECT ename FROM t_employ WHERE empno (NOT) IN (7521,7782,NULL);

8)带LIKE关键字的模糊查询,LIKE前面均可接NOT表示否定

SELECT ename FROM t_employ WHERE ename LIKE 'A%';
查询ename字段中以字母A开头的数据记录;
SELECT ename FROM t_employ WHERE ename LIKE '_A%';
查询ename字段中第二个字母是A的数据记录;
SELECT ename FROM t_employ WHERE ename LIKE 'A%';
查询ename字段中没有字母A的记录;

9)ORDER BY的排序记录:

SELECT * FROM t_emoploy ORDER BY sal ASC(DESC);
按照sal进行升序(降序)排列,默认为升序;
还可先按照升序排列,对于升序中数值一样的,其他字段可设置为降序排列;
SELECT * FROM t_employ ORDER BY sal ,
hiredate DESC;

10)LIMIT关键字查询

SELECT * FROM t_employ WHERE comn is NULL
LIMIT 3;
限制字段comn为3条,将所有结果展示出来;
SELECT * FROM t_employ WHERE comn is NULL
LIMIT 0,,3;
限制字段comn为3条,从第1条开始,将所有结果展示出来

11)COUNT函数使用

SELECT COUNT(comn) number FROM t_employ WHERE NOT comn = 0;
统计奖金数(字段comn)值不为0的所有值;
其他函数还有AVG(平均数)、SUM(求和)、MAX/MIN等;

3 小结

以上列举了11种常见情况的SQL语句,通过排列组合能够覆盖到大多数场景的SQL查询。但这只是SQL最基础的一些功能,对于某些页面埋点,某些复杂查询而言,仍旧难以满足;

但产品的能力矩阵即是如此,并非要在所有领域做到前1%,在非核心领域能够及格即可,能够满足日常使用即可;

但倘若是核心竞争力方面,如产品的业务逻辑、产品的思维逻辑、产品的系统逻辑就必须形成自己的一套体系。相当于是自己修炼的一套武功,肌肉记忆出手成招,甚至是形成自己的非条件反射。对于任何一个需求不仅能滴水不漏考虑周全,同时能权衡各方面的体验感受,甚至能够一眼观至产品未来。

这才是产品的进阶之道。

以上,

祝好。

附上一张最近十分喜爱的一张壁纸:

97aa7498538402e7f50aca456dd1655f.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值