如何学习 SQL 语言?

作者:知乎用户
链接:https://www.zhihu.com/question/19552975/answer/123523074
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

首先,sql是所有数据库查询的语言,sql由于本身结构化的特点,非常容易入手。针对不同的数据库,如hivesql、mysql、sqlserver、oracle等,sql语法会有所不同,但是总体上大同小异,只是细微处的差别。

如果你是数据库小白,可以先补一下数据库知识;

如果你有数据库基础的,只需要找些sql查询的习题来做一下,就会很快的得到提高;

接着你想提高sql水平,进阶,就要学习一些比较高级的用法和技巧。


1、数据库基础

数据库基础知识复习

其实这篇文章讲的就是所有要点,可以有针对性的了解不熟悉的。不太明白的就直接找一本《数据库原理》看看,大概5小时。


2、sql习题

经典SQL练习题

SQL查询语句练习题27道

可以自己搜索sql习题来实践,这里推荐2个习题。大概10小时就可以掌握。


3、sql进阶

(1)sql执行顺序。当sql逻辑复杂后,sql的执行顺序就会非常重要。

sql执行顺序 - qanholas

(2)SQL ROW_NUMBER() OVER函数。用作分组排序,比如各个省份税收排名前20的企业。

SQL ROW_NUMBER() OVER函数的基本用法用法

(3)case when then else end。用作条件判断,比如将10、11、12、13……19、20岁的人群新生成一个字段‘年龄段’取值为10-20岁;聚合函数分别计算,如sum(case when 性别=‘男’ then 收入 end) as 收入_男,sum(case when 性别=‘n女’ then 收入 end) as 收入_女

SQL中的case when then else end用法

(4)select时加标签。例如select出某一特征user_id时新建一个tag字段作为用户的标签。

select user_id,'白领' as tag

(5)差集运算。例如取A集合中不包含在B集合的用户,做差集。

Hive差集运算详解

进阶技巧和方法是在平常使用中逐步积累的,这里只举出几个常用的。

posted on 2018-03-28 18:05  素~  阅读(6691)  评论(0编辑  收藏  举报