SQL基础

这篇博客详细介绍了SQL中的聚合函数,包括COUNT、SUM、MAX/MIN和AVG,强调了AVG与ROUND及IFNULL/COALESCE的使用。此外,还深入讲解了JOIN的不同类型,如INNER JOIN、LEFT JOIN、RIGHT JOIN、JOIN+WHERE以及CROSS JOIN,讨论了它们在实际应用中的差异和注意事项。
摘要由CSDN通过智能技术生成

【自用笔记】

一、Aggregate Function

AF常和GROUP BY 连用

1、COUNT

  • COUNT包括numeric和non-numeric数据(其他几项AF包括numeric**)
  • COUNT() 中间不能加空格
  • COUNT()会默认忽略所有null values, COUNT(*)包括所有,且星号在Aggregate Function中只能用在COUNT里
SELECT 
    COUNT(DISTINCT dept_no)
FROM
    dept_emp;

2、SUM

SELECT 
    SUM(salary)
FROM
    salaries;
-----------------------------
SELECT 
    SUM(salary)
FROM
    salaries
WHERE
    from_date > '1997-01-01'

3、MAX/MIN

SELECT 
    MAX(salary)
FROM
    salaries;
-------------------------------
SELECT 
    MIN(salary)
FROM
    salaries;

4、AVG

  • AVG不能写成AVERAGE
SELECT 
    AVG(salary)
FROM
    salaries
WHERE
	from_date > '1997-01-01';
ROUND(#)

#是numeric value
ROUND(#, decimal_places)

SELECT 
    ROUND(AVG(salary))
FROM
    salaries;
# 此时结果是整数
----------------------------------------------
SELECT 
    ROUND(AVG(salary),2)
FROM
    salaries
WHERE
    from_date > '1997-01-01';
# 此时结果保留两位小数
IFNULL() and COALESCE()

IFNULL只能包含两个参数

SELECT 
    dept_no,
    IFNULL(dept_name,
            'department name not provided') AS dept_name
FROM
    department_dup;

COALESCE可以包含n个(或1个)
COALESCE(expression_1,expression_2…,expression_N)

SELECT 
    dept_no
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值