sql的执行顺序
- 执行from
- where条件过滤
- group by分组
- 执行select投影列(聚合函数)
- having条件过滤
- 执行order by排序
sql语言分类
- 数据查询语言(DQL):是由SELECT子句,FROM子句,WHERE子句组成的查询块
- 数据操纵语言(DML): SELECT(查询) INSERT(插入) UPDATE(更新) DELETE(删除)
- 数据定义语言(DDL):CREATE(创建数据库或表或索引)ALTER(修改表或者数据库)DROP(删除表或索引)
- 数据控制语言(DCL):GRANT(赋予用户权限) REVOKE(收回权限) DENY(禁止权限)
- 事务控制语言(TCL):SAVEPOINT (设置保存点)ROLLBACK (回滚) COMMIT(提交)
datediff函数
datediff(dd,RDDATE,getdate())==0含义,即判断以日为单位(dd),RDDATE和当前日期(getdate)是否相差为0日。
insert into和select into
insert into用于向表中插入新的一行
select into从一个表中选取数据,然后把数据插入另一个表中
修改表操作
ALTER TABLE <表名> [修改选项] { ADD COLUMN <列名> <类型>
| CHANGE COLUMN <旧列名> <新列名> <新列类型>
| ALTER COLUMN <列名> { SET DEFAULT <默认值> | DROP DEFAULT }
| MODIFY COLUMN <列名> <类型>
| DROP COLUMN <列名>
| RENAME TO <新表名> }
where和having
- where子句用来指定行所对应的条件
- having子句用来指定组所对应的条件
- group by用来限定分组条件,having必须和group by连用