为了使用SELECT检索表数据,必须至少给出两条信息——想选择什么,以及从什么地方选择。
    查一列
    输入:
    SELECT date
    from dw.dim_date;

    keys:
    1、结束SQL:最后的分号表示结束SQL,多条SQL才会用到;我们基本写单条,因此可写可不写
    2、大小写和空格:不区分大小写,空格全部被忽略;但是为了美观易读,可以相应调整
    3、英文输入法:SQL语言不支持中文输入法字符,除非在不需要执行的命名和备注中
    查多列
    输入:
    SELECT date,day_name,month
    from dw.dim_date;

    keys:
    1、多列之间用英文逗号隔开
    2、列排序:按逗号间的位置顺序为列顺序
    查所有列
    输入:
    SELECT *
    from dw.dim_date;

    keys:
    1、通配符:,可以在看表结构使用,用在执行SQL会降低性能
    2、检索未知列:使用通配符有一个大优点。由于不明确指定列名(因为星号检索每一列),所以能检索出名字未知的列。
    查不同的列
    输入:
    SELECT
    city_name
    from dw.dim_city;

    输入:
    SELECT DISTINCT
    city_name
    from dw.dim_city;

    keys:
    1、必须在列名前面
    2、作用于所有列,不可能只去重多列中的某一列(想象一下excel中全选列删除重复项)
    限制结果
    输入:
    SELECT
    city_name
    from dw.dim_city
    LIMIT 5

    keys:
    1、hive的顺序不会变,就是底层存的顺序;presto会随机变
    三种注释方法
    输入:
    _SELECT
    city_name
    from dw.dim_city
    — 注释1 :行内注释
    /
    注释2 :任意位置/
    注释的颜色会变
    例1:
    输入▼
    _SELECT prod_name — 这是一条注释

    FROM Products;
    *例2

    输入▼
    /* SELECT prod_name, vend_id
    FROM Products; */
    SELECT prod_name
    FROM Products;
    分析▼
    注释从/开始,到/结束,//之间的任何内容都是注释。这种方式常用于给代码加注释,就如这个例子演示的,这里定义了两个SELECT语句,但是第一个不会执行,因为它已经被注释掉了。