1.基本知识
(1)SQL基本知识
列:字段
行:记录
主键:某一列或者多列,用于区别各个记录的列
(2)SQL是不区分大小写的,为了可读性,关键字要大写
(3)结束SQL语句使用英文分号;
(4)SQL的注释:行内注释 --注释;段注释 '''注释'''
2.检索数据
从什么地方,选择哪些字段
select ______ from _____
注意:
①选择全部字段使用* ;
②去重使用关键字 Distinct+字段;
③可以使用LIMIT关键字限制返回的行数。
3.排列数据
ORDER BY 字段: 可以对字段进行排序,默认为升序。
注意:
①可以对多个字段进行排序,中间用英文逗号,隔开;
②使用关键字DESC设置为降序,ASC为升序;
③ORDER BY子句必须在SELECT语句的最后。
4.过滤数据
WHERE子句可以使用条件过滤记录。
注意:
①WHERE子句在ORDER BY 子句之前;
②WHERE子句是通过操作符来操控:比如=、<>、!=、>、<、>=、<=、BETWEEN AND、ISNULL
③WHERE子句之间使用AND(和、且)连接;使用OR(或、全)连接。
④WHERE子句中**AND优先级高于OR**,因此要使用括号进行分组
⑤IN操作符如,字段 IN('A', 'B')要么A,要么B
⑥NOT操作符,NOT 字段='A’,表示字段不等于A
⑦LIKE操作符,通常和通配符一起使用:通配符包括:%表示0个、1个、多个;_表示1个
5.创建计算字段
使用别名,使用AS关键字
(1)文本型数据的处理
①拼接: hive、Mysql使用的是CONCAT函数,如CONCAT(字段,'符号','字段')
②截取部分字符:LEFT(文本字段,len)、RIGHT(文本字段,len)、SUBSTRING(文本字段,len)
③大小写转换: LOWER()、UPPER()
④去空格:LTRIM()、RTRIM()、TRIM()
(2)数字四则计算
字段的+-×÷
(3)集聚函数:对一组数据求行数、求和、求平均、求最值
AVG():求平均
COUNT():求行数——COUNT(*):求全部行数,包括NULL;COUNT(字段)求该字段非NULL行数
MAX()、MIN():最大值、最小值
SUM():求和
6.数据分组
GROUP BY语句对数据进行分组
注意:
①可以根据多个字段进行分组,嵌套分组,并有顺序
②对嵌套分组数据使用聚合函数,放在最后一个字段上
③选择子句的字段(除了聚合函数以外),必须要在GROUP BY子句里出现
④GROUP BY子句在WHERE语句之后、ORDER BY语句之前HAVING子句对分组数据进行过滤
注意:
①不能在HAVING子句使用别名,要使用聚合函数计算的字段COUNT(字段)