小白入门sql语法2

小白入门sql语法2

多表连接查询

操作符解释例子集合表示(不考虑重复distinct)
JOIN …ON …按ID连成1个表f1JOIN t2 ON t1.id = t2.idA∪B
INNER JOIN只保留id相等的rowt1 INNER JOIN t2 ON t1.id = t2.idA∩B
LEFTJOIN保留t1的所有rowt1 LEFTJOIN t2 ON t1.id = t2.idA∪(A∩B)
RIGHT JOIN保留t2的所有rowt1 RIGHT JOIN t2 ON t1.id = t2.idB∪(A∩B)
lS/IS NOT NULLcol是不是为nullcol lS/IS NOT NULL

语法

SELECT column, another_column,FROM mytable
INNER/LEFT/RIGHT/FULL JOIN another_table
    ON mytable.id = another_table.matching_id
WHERE condition(s)
ORDER BY column,ASC/DESC
LIMIT num_limit OFFSET num_offset;

例如左连接查询

select * from table1 left join table2 on table1.id = table2.id where col not null

表达式

在SQL中可以用column的地方,都可以用表达式 来指定对属性进行一定的计算或处理
在使用column时加上其他表达式可以进行计算与处理得到想要的结果
基本的+、-、*、/、以及abs取绝对值

操作符解释例子
+、-、*、/、%加减乘除取余col1 + col2
substr字符串截取substr(col,0,4)
AScol取别名col * 2 AS col_new

实际上AS不仅用在表达式别名上,普通的属性列甚至是表(table)都可以取一个别名,这让SQL更容易理解.

select col*2 AS 双倍列2 from table where col/2 > 1
//如果col/2大于1,则选出col*2取别名叫“双倍列2”
select substr(col2,0,4)as4字符 from table 
//取col2前4个字符出来并且取别名叫“前4字符”

统计

having 用于对分组数据的再次过滤,必须紧跟 group by子句之后,不能单独使用. having的条件必须是聚合函数语法:

SELECT字段,聚合函数(字段)FROMwHERE condition and/or condition2 and/or condition2...
GROUP BY字段
HAVING 聚合函数(字段)>/</=

聚合函数对一组值执行计算,并返回单个值,也被称为组函数。 聚合函数经常与 SELECT 语句的 GROUP BY 子句的HAVING一同使用。
聚合函数对一组值执行计算并返回单一的值。除 COUNT 以外,聚合函数忽略空值,如果COUNT函数的应用对象是一个确定列名,并且该列存在空值,此时COUNT仍会忽略空值。

1.AVG 返回指定组中的平均值,空值被忽略。
例:select prd_no,avg(qty) from sales group by prd_no
2. COUNT 返回指定组中项目的数量。
例:select count(prd_no) from sales
3. MAX 返回指定数据的最大值。
例:select prd_no,max(qty) from sales group by prd_no
4. MIN 返回指定数据的最小值。
例:select prd_no,min(qty) from sales group by prd_no
5. SUM 返回指定数据的和,只能用于数字列,空值被忽略。
例:select prd_no,sum(qty) from sales group by prd_no
6. COUNT_BIG 返回指定组中的项目数量,与COUNT函数不同的是COUNT_BIG返回bigint值,而COUNT返回的是int值。
例:select count_big(prd_no) from sales
7. GROUPING 产生一个附加的列,当用CUBE或ROLLUP运算符添加行时,输出值为1.当所添加的行不是由CUBE或ROLLUP产生时,输出值为0.
例:select prd_no,sum(qty),grouping(prd_no) from sales group by prd_no with rollup
8. BINARY_CHECKSUM 返回对表中的行或表达式列表计算的二进制校验值,用于检测表中行的更改。
例:select prd_no,binary_checksum(qty) from sales group by prd_no
9. CHECKSUM_AGG 返回指定数据的校验值,空值被忽略。
例:select prd_no,checksum_agg(binary_checksum(*)) from sales group by prd_no
10. CHECKSUM 返回在表的行上或在表达式列表上计算的校验值,用于生成哈希索引。
11. STDEV 返回给定表达式中所有值的统计标准偏差。
例:select stdev(prd_no) from sales
12. STDEVP 返回给定表达式中的所有值的填充统计标准偏差。
例:select stdevp(prd_no) from sales
13. VAR 返回给定表达式中所有值的统计方差。
例:select var(prd_no) from sales
14. VARP 返回给定表达式中所有值的填充的统计方差。
例:select varp(prd_no) from sales

FIRST() - 返回第一个记录的值
LAST() - 返回最后一个记录的值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值