以下为订单表,员工表,部门表,客户表表结构信息
需求:
1)根据表结构信息获取2014年11月每个部门每天新增客户数(财务部除外)
2)请用最优性能的SQL方式实现上述需求
3)给出索引建议
订单表(torder)
ORDER_ITEM_ID VARCHAR2 (20 Byte) 订单ID 主键
ORDER_DATE DATE 订单日期
DATE_ID NUMBER (10) 订单日期(20141212)
SUPPLIER_ID NUMBER (10) 供应商ID
CUSTOMER_ID NUMBER (10) 客户ID
EMP_ID NUMBER (10) 员工ID
员工表(temp)
EMP_ID VARCHAR2 (50 Byte) 员工ID 主键
EMP_NAME VARCHAR2 (200 Byte) 员工姓名
DEPARTMENT_ID NUMBER (10) 部门ID
部门表(tdept)
DEPARTMENT_ID NUMBER (10) 部门ID 主键
DEPARTMENT_NAME VARCHAR2 (200 Byte) 部门名称
客户表(tcustomer)
CUSTOMER_ID NUMBER (10) 客户ID 主键
CUSTOMER_NAME VARCHAR2 (200 Byte) 客户名称
对部门表做子查询,索引的话根据查询内容做。
SELECT DEPARTMENT_NAME,Count(CUSTOMER_ID),ORDER_DATE
FROM torder,temp,tdept
WHERE tdept.DEPARTMENT_ID = temp.DEPARTMENT_ID
AND temp.EMP_ID = torder.EMP_ID
AND ORDER_DATE > CONVERT(varchar(100),'2014-11-01 00:00:00',120)
AND ORDER_DATE < CONVERT(varchar(100),'2014-11-01 23:59:59',120)
AND tdept.DEPARTMENT_NAME <> '财务部'
ORDER BY DEPARTMENT_NAME ASC,ORDER_DATE ASC