SQL语言包括三种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL) 。
数据定义语言 (Data Definition Language, DDL) 是SQL语言集中负责数据结构定义与数据库对象定义的语言,由CREATE、ALTER与DROP三个语法所组成。
数据操纵语言DML(Data Manipulation Language) ,用户通过它可以实现对数据库的基本操作。例如,对表中数据的查询、插入、删除和修改。 在DML中,应用程序可以对数据库作插,删,改,排,检等五种操作。
数据控制语言(DCL)是用来设置或者更改数据库用户或角色权限的语句,这些语句包括GRANT、DENY、REVOKE等语句,在默认状态下,只有sysadmin、dbcreator、db_owner或db_securityadmin等角色的成员才有权利执行数据控制语言。
测试SQL语句执行时间范例如下:
set statistics profile on
set statistics io on
set statistics time on
go
//你执行的SQL语句,比如:
use Test
select * from my_test
go
set statistics profile off
set statistics io off
set statistics time off
当Where子句、Group by子句和Having子句同时出现在一个查询中时,SQL的执行顺序如下:
1. 执行Where子句,从表中选取行。
2. 由Group by对选取的行进行分组。
3. 执行聚合函数。
4. 执行Having子句选取满足条件的分组。