为了使用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语句,但是第一个不会执行,因为它已经被注释掉了。
