select查询基础(1)

SELECT 语句的常用方法:

  • 基本方法
  • 查询条件(WHERE;=><;BETWEEN AND)
  • AND;OR;IN;OR IN;
  • 模糊查询(LIKE;’_’;’%’)
  • 对查询排序(ORDER BY:ASC;DESC)
  • SQL内置函数和计算(COUNT;AVG;SUM;MAX;MIN)
  • 子查询与连接查询
-- 子查询
SELECT of_dpt,COUNT(proj_name) AS count_project FROM project GROUP BY of_dpt
HAVING of_dpt IN
(SELECT in_dpt FROM employee WHERE name='Tom');

-- 连接查询
SELECT id,name,people_num
FROM employee,department
WHERE employee.in_dpt = department.dpt_name
ORDER BY id;
-- 等价于(on后的表名可省略)
SELECT id,name,people_num
FROM employee JOIN department
ON employee.in_dpt = department.dpt_name
ORDER BY id;

例:查询员工所在部门的人数及工程数

  • table1;table2;table3
    表一 & 表二
    表三
  • 查询方法1
    三表查询
    查询结果二
  • 查询方法2
    方法二
-- 三表查询  写入新表
select a.*, b.Q2QTD_NP_Spending, b.[0501_0507_NP_Spending], b.[0508_0514_NP_Spending], 
c.Q2QTD_Infeeds_Spending, c.[0501_0507_Infeeds_Spending], c.[0508_0514_Infeeds_Spending]
into P4P_temp1
from P4P_temp a
left join NP_temp b
on a.用户名 = b.用户名
left join Infeeds_temp c
on b.用户名 = c.用户名

-- case when ... then * else( ... ) end as 别名
-- 分母判定
case when sum([0501_0507_Total_Spending])=0 then 0 else
(sum([0508_0514_Total_Spending])-sum([0501_0507_Total_Spending]))/sum([0501_0507_Total_Spending]) end as [Diff%_Total_Spending]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值