sql的核心是
A. Select查询命令的作用是什么
查询是sql语言的核心,用于表达SQL查询的select查询命令是功能最强也是最为复杂的SQL语句,它的作用就是从数据库中检索数据,并将查询结果返回给用户。 Select语句激历由select子句(查询内容)、from子句(查询对象)、where子旬(查询条件)、order by子句(排序方式)、group by子句(分组方式)等组成。x0dx0ax0dx0a结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名明配搜。x0dx0a结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。x0dx0a1986年10月,美国国家标准协会对SQL进行规范后,以此作为关系式数据库管理系统的标准语言(ANSI X3. 135-1986),1987年得到国际卖斗标准组织的支持下成为国际标准。不过各种通行的数据库系统在其实践过程中都对SQL规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用。
B. 怎样从简单数据库用sql语句查询数据
查询是SQL语言的核心,SQL语言只提供唯一一个用于数据库查询的语句,即SELECT语句。用于表达SQL查询的SELECT语句是功能最强也是最复杂的SQL语句,它提供了很多选项和使用方法。SELECT语句的命令格式如下:
SELECT查询语句是由七个子句构成,其中SELECT和FROM子句是一个完整SELECT查询语句必须要有的,其它的子句可以根据具体需要任选。上述的每个子句功能说明如下:
(1)SELECT子句
列出所有要求SELECT语句进行检索的数据项,这些项可能取自数据库中关系表的列,也可以是SQL在执行查询时进行计算的表达式。这里的ALL和DISTINCT选项,表示查询出的结果中是否容许有内容重复的行出现,缺省时是ALL项,表示容许有重复的行出现,而*则表示查询出所指定关系表中所有的列。
(2)FROM子句
FROM子句列出包含所要查询的数据关系表。
(3)WHERE子句
WHERE子句告诉SQL只查询某些关系表中满足一定要求的行的数据,查询要求由WHERE子句中的查询条件确定。
(4)GROUP BY子句
GROUP BY子句指定当前查询是汇总查询,即不是对根据每行产生一个查询结果,而是对相似的行进行分组,然后再对每组产生一个汇总查询的结果。
(5)HAVING子句
HAVING子句告诉SQL只对由GROUP BY所得到的某些行组的结果进行过滤,选择出满足分组条件的分组。
(6)ORDER BY子句
ORDER BY子句确定是否将查询出的结果按一列或多列中的数据进行排序,缺省时是不排序的。
(7)INTO子句
INTO子句确定是否将查询出的结果存入一张新的关系表中,缺省时只将查询出现的结果显示在屏幕上。这是非标准SELECT语句中的子句,但目前绝大多数实际应用的SQL数据库系统的SQL语言提供了这一选项。
下面是一些使用SELECT查询语句进行数据查询的示例。
例1:列出销售额超过6000元的销售人员的姓名、销售目标和超过销售目标的销售额。
SELECT NAME,QUOTA,(SALES_QUOTA)
FROM SALESREPS
WHERE SALES>6000
例2:查出1999年最后一个季度的订单情况。
SELECT ORDER_NUM,ORDER_DATE,PRODUCT,AMOUNT
FROM ORDERS
WHERE ORDER_DATE BETWEEN "01-OCT-99" AND "31-DEC-99"
例3:查出名称是以ABC开头的产品订单情况。
SELECT ORDER_NUM,ORDER_DATE,PRODUCT,AMOUNT
FROM ORDERS
WHERE PRODUCT LIKE "ABC%"
例4:列出所有的销售处,按区域名字母顺序排列。
SELECT CITY,REGION
FROM OFFICE
ORDER BY REGION ASC
在这里ASC表示升序,如果表示降序可用DESC。
例5:列出每个销售人员以及他们工作的城市和区域的情况。
SELECT NAME,CITY,REGION
FROM SALESREPS,OFFICE
WHERE REP_OFFICE=OFFICE
例6:查出有多少销售员的销售额超过了其目标额,以及他们的销售额总和。
SELECT COUNT(NAME),SUM(SALES)
FROM SALESREPS
WHERE SALES>QUOTA
C. SQL语言功能它按其功能分为那几个部分
SQL语言功能按其功能分为数据定义、数据操纵和数据控制三个部分。
1、SQL数据定义功能:能够定义数据库的三级模式结构,即外模式、全局模式和内模式结构。在SQL中,外模式又叫做视图(View),全局模式简称模式( Schema),内模式由系统根据数据库模式自动实现,一般无需用户过问。
2、SQL数据操纵功能:包括对基本表和视图的数据插入、删除和修改,特别是具有很强的数据查询功能。
3、SQL的数据控制功能:主要是对用户的访问权限加以控制,以保证系统的安全性。
(3)sql的核心是扩展阅读
SQL的核心部分相当于关系代数,但又具有关系代数所没有的许多特点,如聚集、数据库更新等。综合的、通用的、功能极强的关系数据库语言,其特点是:
1、数据描述、操纵、控制等功能一体化。
2、两种使用方式,统一的语法结构。SQL有两种使用方式。一是联机交互使用,这种方式下的SQL实际上是作为自含型语言使用的。另一种方式是嵌入到某种高级程序设计语言(如C语言等)中去使用。前一种方式适合于非计算机专业人员使用,后一种方式适合于专业计算机人员使用。尽管使用方式不向,但所用语言的语法结构基本上是一致的。
3、高度非过程化。SQL是一种第四代语言(4GL),用户只需要提出“干什么”,无须具体指明“怎么干”,像存取路径选择和具体处理操作等均由系统自动完成。
4、语言简洁,易学易用。尽管SQL的功能很强,但语言十分简洁,核心功能只用了9个动词。SQL的语法接近英语口语,所以,用户很容易学习和使用。
D. SQL语句完成核心功能的九个动词是什么
1、SELECT:查询出数据,也可用于变量赋值
2、CREATE:创建
3、DROP:删除
4、ALTER:修改
5、INSERT:插入
6、UPDATE:更新
7、DELETE:删除
8、Grant:授权
9、revoke:回收权限
(4)sql的核心是扩展阅读
语法
SQL语言分成了几种要素,包括:
1、子句,是语句和查询的组成成分。(在某些情况下,这些都是可选的。)[14]
2、表达式,可以产生任何标量值,或由列和行的数据库表
3、谓词,给需要评估的SQL三值逻辑(3VL)(true/false/unknown)或布尔真值指定条件,并限制语句和查询的效果,或改变程序流程。
4、查询,基于特定条件检索数据。这是SQL的一个重要组成部分。
5、语句,可以持久地影响纲要和数据,也可以控制数据库事务、程序流程、连接、会话或诊断。
6、SQL语句也包括分号(";")语句终结符。尽管并不是每个平台都必需,但它是作为SQL语法的标准部分定义的。
7、无意义的空白在SQL语句和查询中一般会被忽略,更容易格式化SQL代码便于阅读。
标准化
各种数据库的SQL方言通常不可移植,特别是在日期时间语法、字符串连接、NULL、比较的大小写敏感方面。只有PostgreSQL与Mimer SQL努力遵从标准。Oracle数据库的DATE行为如同DATETIME,缺少TIMEtype)。
SQL在1986年被ANSI标准化,1987年被ISO标准化。由ISO/IEC JTC 1, Information technology, Subcommittee SC 32, Data management and interchange维护。标准名称通常为如下模式:ISO/IEC 9075-n:yyyy Part n: title。
E. ASP基础入门:数据库查询语言(1)
原定计划从本篇开始就要给大家介绍 ASP 内建的 ActiveX
组件,但是考虑到我们在往后的简返明学习中将会接触到大量的数据库查询,因此作者临时决定花一到两篇的篇幅向大家简要介绍一些数据库查询语言的基本知识,这其实也是学习
ASP
所必须掌握的一门知识。是否能够灵活地运用数据库查询语言,将直接关系到
ASP 程序的执行效率等一系列问题,所以请各位务必重视。
相信很多朋友都听说过 SQL
这个名字,如果你是计算机方面的行家,SQL
的大名一定是如雷贯耳。那么 SQL 究竟是什么呢?SQL 一词实际上是
"Structured Query Language"
结构式查询语言的缩写,是用于对存放在计算机数据库中的数据进行组织、管理和检索的一种工具;是一种特定类型的数据库
-- 关系数据库。而控制这种数据库的计算机程序就是我们常说的
DBMS-- 数据库管理系统。譬如:SQL Server、Oracle、Sybase、DB2
等等。当用户想要检索数据库中的数据时,就通过 SQL
语言发出请求,接着 DBMS 对该 SQL
请求进行处理并检索所要求的数据,最后将其返回给用户,此过程被称作为数据库查询,这也就是数据库查询语言这一名称的由来。
SQL 并不是象 C、COBOL 和 Fortran 语言那样的完整的计算机语言。SQL
没有用于条件测试的 IF 语句,也没有用于程序分支的 Goto
语句以及循环语句 For 或 Do。确切的讲,SQL 是一种数据库子语言,SQL
语句可以被嵌入到另一种语言中,从而使其具有数据库存取功能。SQL
也非严格的结构式语言,它的句法更接近英语语句,因此易于理解,大多数
SQL 语句都是直述其意,读起来就象自然语言一样明了。SQL
还是一种交互式查询语言,允许用户直接查询存储数据,利用这一交互特性,用户可以在很短的时间内回答相当复杂的问题,而同样问题若让程序员编写相应的报表程序则可能要用几个星期甚至更长时间。
在大部分 ASP 应用程序中我们都会接触到数据库,而我们在编写
ASP 应用程序时用来进行数据库操作的标准语法正是 SQL,因此 SQL
语法的重要性是不言而喻的。下面,我们就从最常用的 SQL 语句 SELECT
着手,一步一步地来学习 SQL。
查询是 SQL 语言的核心,而用于表达 SQL 查询的 SELECT
语句则是功能最强也是最为复杂的 SQL
语句,它从数据库中检索数据,并将查询结果提供给用户。在本文中我们将建立一个名为
tianjiao 的简单数据库,该库中存放了一个叫 sales
的销售记录表,如下所示 :
姓名
性别
工资
销售目标
销售额
地区
书生
男
2500
8000
9000
上海
吴冠军
男
3000
10000
9999
北京
雷鸣
男
2000
8000
10000
四川
雪儿
女
2500
5000
6000
广州
顾一
男
2600
9000
9800
大连
阿卓
女
2000
4000
4000
天津
熠天
男
4000
20000
20000
全国
在该表中有六列即六个字段 :
姓名、性别、工资、销售目标、销售额、地区,首先我们用 Select
语句列出姓名、销售目标和销售额 :
Select 姓名,销售目标,销售额 From sales
结果如下 :
姓名
销售目标
销售额
书生
8000
9000
吴冠军
10000
9999
雷鸣
8000
10000
雪儿
5000
6000
顾一
9000
9800
阿卓
4000
4000
熠天
20000
20000
然后,我们再列出所有男性的姓名、销售目标和销售额 :
Select 姓名,销售目标,销售额 From sales Where 性别 =" 男
"
结果如下 :
姓名
销售目标
销售额
书生
8000
9000
吴冠军
10000
9999
雷鸣
8000
10000
顾一
9000
9800
熠天
20000
20000
接下拦告来,我们做一个相对复杂的查询,列出销售额大于销售目标的所有男性的姓名、销售目标和销售额,并且按销售目标排序。
Select 姓名,销售目标,销售额
Form sales
Where 销售额
销售目标
And 性别 =" 男 "
Order By 销售目标
结果如下 :
姓名
销售目标
销售额
书生
8000
9000
雷鸣
8000
10000
顾一
9000
9800
熠天
20000
20000
大家可以看到,对于简单查询,SQL Select
语句和英文语法很相象,我们来分析一下 SELECT
语句的完整格式,它包括六个子句,其中 SELECT 和FROM
子句是必须的,其它世昌子句可以任选,每个子句的功能如下 :
1、Select 子句列出所有要求 SELECT 语句检索的数据项。它放在
SELECT
语句开始处,指定此查询要检索的数据项。这些数据项通常用选择表表示,即一组用“,”隔开的选择项。按照从左到右的顺序,每个选择项产生的一个列的查询结果,一个选择项可能是以下项目:
(1)、列名:标识 FROM
子句指定表中的列。如果列名作为选择项,则 SQL
直接从数据库表中每行取出该列的值,再将其放在查询结果的相应行中。
(2)、常数:指定在查询结果的每行中都放上该值。
(3)、SQL
表达式:说明必须将要放入查询结果中的值按表达式的规定进行计算。
2、From 子句列出包含所要查询数据的表,它由关键字 FROM
后跟一组用逗号分开的表名组成。每个表明都代表一个包括该查询要检索数据的表。这些表称为此
SQL 语句的表源,因为查询结果都源于它们。
3、Where 子句告诉 SQL
只查询某些行中的数据,这些行用搜索条件描述。
4、Group By
子句指定汇总查询,即不是对每行产生一个查询结果,而是将相似的行进行分组,再对每组产生一个汇总结果。
5、Having 子句告诉 SQL 只产生有 Group By
得到的某些组的结果,和 Where
子句一样,所需要的组也用一个搜索条件指定。
6、Order By
子句将查询结果按一列或多列中的数据排序。如果省略此子句,则查询结果将是无序的。
下面作者将提供一个简单但实用的运用 SQL 语句查询的 ASP
程序供大家参考。
为了使大家更清楚更直接地了解 SQL 语法在 ASP
中的应用,我们先将查询的所有核心过程写成一个名为 query2table 的SUB,然后利用
ASP 的服务器端包容功能调用该 SUB。请将以下语句剪贴到记事簿,保存为
subdBTable.inc 文件,并置于虚拟目录 asptest 下:
%
sub query2table(inputquery)
set conntemp=server.createobject("adodb.connection")
conntemp.open "DSN=Student;uid=student;pwd=aspmagic"
set rstemp=conntemp.execute(inputquery)
howmanyfields=rstemp.fields.count -1
' 统计数据库中的列数
%
table border=1 tr
%
for I=0 to howmanyfields
%
td b %=rstemp(I).name% /B /TD
% next %
/tr
%
do while not rstemp.eof
%
tr
% for I = 0 to howmanyfields
thisvalue=rstemp(I)
If isnull(thisvalue) then
thisvalue="?
' 如果字段为空,则将变量 thisvalue 的值定义为一个空格
end if%
td valign=top %=thisvalue% /td
% next %
/tr
%rstemp.movenext
loop%
/table
%
rstemp.close
set rstemp=nothing
conntemp.close
set conntemp=nothingend sub%
完成了 SUB 的定义过程,在下面几个 ASP
程序中我们只要加入想要使用的 SQL
查询语句,并调用该过程就可以非常方便的得到查询结果。将以下四段代码分别保存为
asp11a.asp、asp11b.asp、asp11c.asp、asp11d.asp 四个 .asp 文件。
HEAD TITLEasp11a.asp /TITLE /HEAD
HTML body bgcolor="#FFFFFF"
%
call query2table("select * from publishers where name like 'A%%'")
' 将表 publishers 中所有姓名中有字母 A 的记录查询出来
%
!--#include virtual="/asptest/subdBTable.inc"-- /BODY
/HTML
HEAD TITLEasp11b.asp /TITLE /HEAD HTML
body bgcolor="#FFFFFF"
%
call query2table("select * from titles where Year_Published
= 1998")
' 将表 titles 中所有发表年份大于或等于 1998 年的记录查询出来
%
!--#include virtual="/asptest/subdBTable.inc"-- /BODY
/HTML
HEAD TITLEasp11c.asp /TITLE /HEAD HTML
body bgcolor="#FFFFFF"
%
call query2table("select * from publishers where amount10000 and
sex='male'")
' 将表 publishers 中所有数量大于 10000 且性别为男的记录查询出来
%
!--#include virtual="/asptest/subdBTable.inc"-- /BODY
/HTML
HEAD TITLEasp11d.asp /TITLE /HEAD HTML
body bgcolor="#FFFFFF"
%
call query2table("select * from publishers where state
'NY'")
'将表 publishers 中所有所在城市不为纽约的记录查询出来。
%
!--#include virtual="/asptest/subdBTable.inc"-- /BODY
/HTML
利用 subdBTable.inc 文件中的所定义的过程 query2table,你就可以非常迅速地对数据库进行查询,你所要做的只是将“conntemp.open
"DSN=Student;uid=student;pwd=aspmagic"”中的数据库名称、用户身份和密码稍加改动,并在调用
query2table 时输入想要使用的 SQL 查询语句即可。是不是很简单 ?
这就是 ASP 和 SQL 的魅力所在 !!!
今天,我们虽然用了一整篇的篇幅只学习了一个 SQL
指令,但请你相信你所获得远不同于一个 DOS 指令,SELECT
指令使得你可以非常容易地对数据库进行查询,或许在这之前你对数据库查询还一无所知,但是通过本篇的学习,你其实已经会使用
ASP 进行常用的数据库查询了,是不是很激动 ?
在下一篇中,作者将继续给大家介绍 SQL