全面接触SQL语法二

本文详细介绍了SQL查询的基础知识及高级技巧,包括如何使用SELECT语句进行数据查询、DISTINCT和DISTINCTROW去除重复记录、TOP获取特定数量的数据、PARAMETERS声明参数、ORDERBY进行排序操作、IN条件子句指定外部数据库等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

例如下面这两个例子将会具有相同的效果,都会从职员表格中返回所有字段的数据。

  例如:

  若是我们要查询出职员表格中的所有记录,可以通过下面的语句来完成。


SELECTALL*FROM职员表格;DISTINCT



  
  对某个表格所选择的字段数据,略过重复的情况,也就是说,针对某个字段查询出来的记录结果是唯一的。例如有许多存放在职员表格的职员

  数据,也许会具有相同的姓名,所以若是我们用SQL语句中的SELECTDISTINCT,则查询出来的结果将会针对不一样的姓名加以筛选。若是您把

  DISTINCT加以省略,则这样的查询会显示所有的记录。

  DISTINCTROW

  将整条记录重复的记录忽略掉,而不是只有针对某一个字段的数据。

  table

  指定查询记录所需要的表格。

  例如:


  SELECTDISTINCTROW公司名称


  FROM顾客表格INNERJOIN订单表格

  ON顾客表格.顾客ID=订单表格.顾客ID


  ORDERBY公司名称;


  如果您忽略DISTINCTROW则会对每个公司产生一行以下的订单数据。此外,若是DISTINCTROW只有用在一个表格当中,则会被省略掉。

  TOP

  从第一条或最后一条开始(利用ORDERBY条件子句),返回特定条数的数据。

  例如:

  当您想要知道在2000年,班上前25名的学生姓名数据时,您可以输入这样的语句:

  SELECTTOP25学生姓名

  FORM学生表格


  WHERE毕业年份=1994


  ORDERBY毕业成绩平均分数DESC;


  如果您没有加上ORDERBY这行条件的话,您所得到的数据,将会随机的数据。此外,在TOP语句之后,除了可以加上数字以外,还可以利用保留


  字PERCENT来查询。


  例如:


  SELECTTOP10PERCENT学生姓名


  FROM学生表格

  WHERE毕业年份=1994


  ORDERBY毕业成绩平均DESC;
 
  PARAMETERS(参数)声明的用法

  对于参数型的查询语法中,对参数的名称以及数据类型作声明的操作。


  PARAMETERSnamedatatype[,namedatatype[,...]]


  name


 PARAMETERS的名称。您可以把参数名称当作字符串来使用,若是名称中包含了空字符串,可以利用中括号来处理,例如:“VBeden”。

 datatype

 输入参数的数据类型。

 例如:

 若是您在查询时,需要机动的输入姓名,可以利用下列的方式完成:

 PARAMETERS“输入姓名”Text;

 SELECT*

 FROM职员表格

 WHERE姓名=“输入姓名:”;

ORDERBY条件语句

 此条件子句,通常与SELECT语句合并使用目的是将查询的结果,依照指定字段加以排序。

 SELECTfieldlist

 FROMtable

 WHEREselectcriteria

 ORDERBYfield[ASC|DESC][,field2[ASC|DESC][,...]]

 fieldlist

 欲查询的字段名称。其中可以与ALL,DISTINCT,DISINCTROW,或TOP一起来使用。

 table

 欲查询的表格名称。

 selectcriteria

 查询的标准设置。

 field1

 指定要依照那个字段作为排序的依据,若是你没有加上ORDERBY查询出的数据集将不会作排序的操作。

 ASC

 递增顺序类别。(默认值)

 DESC

 递减顺序类别。

 例如:

 或是我们要将输出数据依据出生的先后次序排列,可以利用下面的命令。


 SELECT姓名,生日

 FROM职员表格

 ORDERBY生日

 SELECTLastName,FirstName

 FROMEmployees

 ORDERBYLastNameASC;

 IN条件子句

  指定要速胜哪一个外部数据库的表格。(必须是MicrosoftJet数据库引擎所可以连接的数据库,如dBase,Paradox等等)
  
SELECT|INSERT]INTOdestinationIN
{path|["path""type"]|[""[type;DATABASE=path]]}
FROMtableexpressionIN
{path|["path""type"]|[""[type;DATABASE=path]]}
destination

 欲插入数据的外部表格名称。

 tableexpression

 表格名称或是被读取数据的表格名称。这个参数可以是一个单一的表格名称,或是一段已经被存储的SQL查询等。

 path

 包含该表格的完整路径名称。

 type

 数据库的类型名称,通常是当数据库部属于Jetdatabase时才会使用。(例如:dBASEIII,dBASEIV,Paradox3.x,Paradox4.x,或Btrieve)

  例如:下面这两段的意义相同

PartA....FROMTable
IN""[dBASEIV;DATABASE=C:/DATA/SALES;];

PartB....FROMTable
IN"C:/DATA/SALES""dBASEIV;"

  例如:MicrosoftJetdatabase


SELECT顾客编号
FROM顾客表格
INCUSTOMER.MDB
WHERE顾客编号Like"A*";
其中CUSTOMER.MDBO为Jetdatabase的数据库名称,其中包含了顾客表格。

例如:dBASEIIIorIV
SELECT顾客编号
FROM顾客表格
IN"C:/DBASE/DATA/SALES""dBASEIV;"
WHERE顾客编号Like"A*";
所以当我们使用不同于ACCESS的数据库时,必须指明该数据库的类型名称

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值