SQL语法与命令
SQL语法与命令
SELECT 语句
SELECT[predicate]{*|table.*|[table.]field [,[table.]field2[,...]]} [AS alias1
[,alias2[,...]]]
from tableexpression [,...][IN externaldatabase]
[WHERE...]
[GROUP BY...]
[HAVING...]
[ORDER BY...]
[WITH OWNERACCESS OPTION]
SELECT 语句包括下面几个部分
predicate
如前面所述,包括了ALL,DISTINCT,DISTINCTROW,与TOP
我们可以利用这样的语句去限制查询后所得的结果。
*
从指定表格中指定所有的字段。
table
针对被选择出的记录的字段,所指定表格的名称。
field1,field2
想要读取数据的字段名称,如果包含了一个以上的字段,会依照列出的顺序来读取数据。
alias1,alias2
用来替代在表格实际字段名称的化名。
tableexpression
表格名称或包含我们所想要的数据的表格。
externaldatabase
若使用到不是目前的数据库则将其名字定义在externaldatabase当中。
ALL,DISTINCT,DISTINCTROW,TOP属性词用法
SELECT [ALL|DISTINCT|DISTINCTROW|[TOP n[PERCENT]]] from table
ALL
若是您不指定任何的字段数据,则Microsoft Jet数据库引擎(database
engine)将会选择所有的字段,并依据所定的条件查询出需求数据集。
例如下面这两个例子将会具有相同的效果,都会从职员表格中返回所有字段的数据。
例如:
若是我们要查询出职员表格中的所有记录,可以通过下面的语句来完成。
SELECT ALL*
from 职员表格;
DISTINCT
对某个表格所选择的字段数据,略过重复的情况,也就是说,针对某个字段查询出来的记录结果是唯一的。例如有许多存放在职员表格的职员
数据,也许会具有相同的姓名,所以若是我们用SQL语句中的SELECT
DISTINCT,则查询出来的结果将会针对不一样的姓名加以筛选。若是您把
DISTINCT 加以省略,则这样的查询会显示所有的记录。
DISTINCTROW
将整条记录重复的记录忽略掉,而不是只有针对某一个字段的数据。
table
指定查询记录所需要的表格。
例如:
SELECT DISTINCTROW 公司名称
from 顾客表格 INNER JOIN 订单表格
ON 顾客表格.顾客ID=订单表格.顾客ID
ORDER BY 公司名称;
如果您忽略 DISTINCTROW
则会对每个公司产生一行以下的订单数据。此外,若是DISTINCTROW只有用在一个表格当中,则会被省略掉。
TOP
从第一条或最后一条开始(利用ORDER BY条件子句),返回特定条数的数据。
例如:
当您想要知道在2000年,班上前25名的学生姓
相关文档:
系统环境:Windows 7
软件环境:Visual C++ 2008 SP1 +SQL Server 2005
本次目的:编写一个航空管理系统
这是数据库课程设计的成果,虽然成绩不佳,但是作为我用VC++ 以来编写的最大程序还是传到网上,以供参考。用VC++ 做数据库设计并不容易,但也不是不可能。以下是我的程序界面,后面 ......
--------------------------------------------------------------------
-- 作者:张爱国
-- 日期:2010-01-23 15:00:17
-- 描述: 一些比较有意思的SQL语句
-- Version:
-- Microsoft SQL Server 2005 - 9.00.3042.00 (Intel X86)
-- Feb 9 2007 22:47:0 ......
所测试环境为:Ms sqlserver 2008,visual studio 2008
测试数据为10万条
Linq方式 代码:
/// <summary>
/// Linq 方式
/// </summary>
public static void Linq_insert()
{
DataClassesDataContext dataContext = new DataClassesDataContext();
......
if exists(select * from sysobjects where name='atzk')--判断是否存在此表
drop table atzk
go
create table atzk
(
nid int identity(1,1) primary key,--nid自动编号,并设为主键。
mytitle varchar(50) not null,--通知的标题。
mycontents varchar(200)--发布通知的内容。
) ......
(1)整合简单,无关联的数据库访问:
如果你有几个简单的数据库查询语句,你可以把它们整合到一个查询中(即使它们之间没有关系)
(2)删除重复记录:
最高效的删除重复记录方法 ( 因为使用了ROWID)例子:
DELETE from EMP E WHERE E.ROWID > (SELECT MIN(X.ROWID)
from EMP X WHERE X.EMP_NO = E.EM ......