zoukankan      html  css  js  c++  java
  • 如何学习 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差集运算详解

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

  • 相关阅读:
    K
    A
    2017 Multi-University Training Contest
    第一章 概述
    校赛F 比比谁更快(线段树)
    POJ 3683 Priest John's Busiest Day
    POJ 2186 Popular Cows
    第十五周讨论
    线段树模板(单点更新,区间更新,RMQ)
    2-SAT问题(白书)
  • 原文地址:https://www.cnblogs.com/jy13638593346/p/8665407.html
Copyright © 2011-2022 走看看