第04章 SQL基础
- 格式:ppt
- 大小:1.77 MB
- 文档页数:80
第四章关系数据库标准语言SQLSQL:是结构化查询语言,它包括数据查询、数据定义、数据操纵、数据控制四部分。
但在VF中只绍介查询、定义、操纵三个方面。
SQL命令动词:一、查询功能1、SQL语言的核心是查询。
查询的基本形式:SELECT <字段名/表达式> FROM <表名/视图名> WHERE <条件> 由于表是由行和列组成就像数学中所学的坐标由X轴和Y轴构成,所需确定某个点需要说明X 为多少Y为多少。
而表中需要查询某些数据就必需指明行和列,所以在查询时:1FROM<表名/视图名>:说明查询的数据来自于所需要的表或视图。
若某于多个表时,各个表之间用逗号隔开。
2SELECT<字段名/表达式>:说明从表或视图中所查询结果是哪些字段名或表达式的值(各字段名或表达式之间用逗号隔开)即针对表的列来操作(限定列)。
3WHERE<条件>:说明从表或视图中所查询结果是哪些行即记录针对表的行来操作(限定行)。
关于其它短语的说明:可以在3个区域中创建SELECT命令。
1在命令窗口中;2在VFP程序中3在查询设计器中注:当FROM后面来自于多个表时,必须写连接条件(通常根据表的公共字段作为连接条件),此时在书写公共字段之前必须加以别名限定。
定义表的别名方法见教材P137,超连接的格式见教材P140FROM书写不要写成=>FORM二、查询方法:1、简单查询:例:从职工表中检索所有的工资值。
SELECT 工资FROM 职工表或者SELECT * FROM 职工表如果要去掉重复值用:DISTINCT例:检索哪些仓库有工资多于1260元的职工号SELECT DISTICT 仓库号FROM 职工表WHERE工资>12602、单击的连接查询:类似于多个表的查询,与嵌套查询的区别是要查询的结果呆以出自多个表中。
而嵌套查询的结果是基于一个表中。
例:找出工资多于1250元的职工号与他们所在的城市。
掌握SQL四条最基本的数据操作语句:Insert,Select,Update和Delete。
练掌握SQL是数据库用户的宝贵财富。
在本文中,我们将引导你掌握四条最基本的数据操作语句—SQL的核心功能—来依次介绍比较操作符、选择断言以及三值逻辑。
当你完成这些学习后,显然你已经开始算是精通SQL了。
在我们开始之前,先使用CREATE TABLE语句来创建一个表(如图1所示)。
DDL语句对数据库对象如表、列和视进行定义。
它们并不对表中的行进行处理,这是因为DDL语句并不处理数据库中实际的数据。
这些工作由另一类SQL语句—数据操作语言(DML)语句进行处理。
SQL中有四种基本的DML操作:INSERT,SELECT,UPDA TE和DELETE。
由于这是大多数SQL用户经常用到的,我们有必要在此对它们进行一一说明。
在图1中我们给出了一个名为EMPLOYEES的表。
其中的每一行对应一个特定的雇员记录。
请熟悉这张表,我们在后面的例子中将要用到它。
INSERT语句用户可以用INSERT语句将一行记录插入到指定的一个表中。
例如,要将雇员John Smith的记录插入到本例的表中,可以使用如下语句:INSERT INTO EMPLOYEES V ALUES('Smith','John','1980-06-10','Los Angles',16,45000);通过这样的INSERT语句,系统将试着将这些值填入到相应的列中。
这些列按照我们创建表时定义的顺序排列。
在本例中,第一个值“Smith”将填到第一个列LAST_NAME中;第二个值“John”将填到第二列FIRST_NAME中……以此类推。
我们说过系统会“试着”将值填入,除了执行规则之外它还要进行类型检查。
如果类型不符(如将一个字符串填入到类型为数字的列中),系统将拒绝这一次操作并返回一个错误信息。
如果SQL拒绝了你所填入的一列值,语句中其他各列的值也不会填入。
1一.选择题21.下面哪种数字数据类型不可以存储数据256?(D)3A. bigintB. intC. SmallintD. tinyint 42.下面是有关主键和外键之间的关系描述,正确的是(AC)5A.一个表最多只能有一个主键约束,多个外键约束。
6B.一个表中最多只有一个外键约束,一个主键约束。
7C.在定义主键外键约束时,应该首先定义主键约束,然后定义外键约束。
8D.在定义主键外键约束时,应该首先定义主键约束,然后定义主键约束。
93.下面关于数据库中表的行和列的叙述正确的是(D)10A.表中的行是有序的,列是无序的B. 表中的列是有序的,行是无序的C. 表中的行和列都是有序的D. 表中的行和列都是无序的11124.SQL语言的数据操作语句包括 SELECT、INSERT、UPDATE、DELETE等。
其中13最重要的,也是使用最频繁的语句是(A)A.SELECTB.INSERTC.UPDATED.DELETE14155.在下列SQL语句中,修改表结构的语句是(A )。
16A. ALTERB. CREATEC. UPDATED. INSERT176.设有关系R(A,B,C)和S(C,D),与关系代数表达式πA,B,D(σR.C=S.C(R ∞18S)等价的SQL语句是(B)。
19A.SELECT *FROM R,S WHERE R.C=S.C20B.SELECT A,B,D FROM R,S WHERE R.C=S.C21C.SELECT A,B,D FROM R,S WHERE R=S22D.SELECT A,B FROM R WHERE(SELECT D FROM S WHERE R.C=S.C)237.设关系 R(A,B,C) 与SQL语句“SELECT DISTINST A FROM R WHERE B=17”24等价的关系代数表达式是(A)25A.πA(σB=17 (R))B. σB=17 (πA(R))26C. σB=17 (πA. C(R))D. πA. C(σB=17 (R))27下面第(8)-(12)题,基于“学生-选课-课程”数据库中的3个关系。