SQL 学习笔记之Select完整语法及执行过程详解
SELECT语句的完整语法为:
SELECT[ALL|DISTINCT|DISTINCTROW|TOP]
{*|talbe.*|[table.]field1[AS alias1][,[table.]field2[AS alias2][,…]]}
from tableexpression[,…][IN externaldatabase]
[WHERE…]
[GROUP BY…]
[HAVING…]
[ORDER BY…]
[WITH OWNERACCESS OPTION]
注意 Where,GroupBy,Having,OrderBy 顺序。
执行步骤
1)先从from字句一个表或多个表创建工作表
2)将where条件应用于1)的工作表,保留满足条件的行
3)GroupBy 将2)的结果分成多个组
4)Having 将条件应用于3)组合的条件过滤,只保留符合要求的组。
5)Order By对结果进行排序。
使用DISTINCT去除重复的信息
执行:
select * from student
返回结果
-stuName -stuno
Tom Sawyer 1
Andy Ke 2
Angelia Jolie 3
Celine Dion 4
alex 5
alex 6
执行:
select distinct stu_name from student
结果:
alex
Andy Ke
Angelia Jolie
Celine Dion
Tom Sawyer
即去掉了重复值,又对查询结果进行了排序。实际上DBMS的操作过程是先对查询结果排序在从结果中去除重复的
相关文档:
软件是免费使用的,自己工作中也一直用,有很多功能想增加,由于时间原因没去整理需求。自从去年发布V1.0.0版后没有在发布了,本次主要是增加了解密Oracle10g加密对像的功能,另外做了一些小的优化,发上来与大家分享一下,因为是Beta版,所以也请大家谅解,如果在使用解密功能时遇到问题可以发E ......
--创建写文件的存储过程
ALTER proc [dbo].[p_movefile]
@filename varchar(1000),--要操作的文本文件名
@text varchar(8000), --要写入的内容
@obj int
as
begin
declare @err int,
@src varchar(255),
&n ......
本文介绍了SQL Server 2005中少数人用到的两条精品新语法,大家看看自己是否知道呢……
1. OUTPUT ... INTO
用于将一条记录从表一移动到表二时非常好用,常见于备份记录的应用
例一:
DELETE [TableUseing]
OUTPUT *
INTO [TableBak]
例二:(用于移动时修 ......
如何远程判断Oracle数据库的安装平台
select * from v$version;
查看表空间的使用情况
select sum(bytes)/(1024*1024) as free_space,tablespace_name
from dba_free_space
group by tablespace_name;
SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,
(B.BYTE ......
----use pubs-sales
-----创建索引
create index index_name
on authors(au_lname)
--创建索引后表中所有的数据跟之前没有区别
select * from authors
--单独查索引列
select au_lname from authors
--强制使用非簇集索引
select * from authors with(index(index_name))
--多字段非簇集索引
create inde ......