数据库及SQL语句相关

来源:互联网 发布:资产阶级革命知乎 编辑:程序博客网 时间:2024/06/05 19:43

视图(VIEW):从一个或几个基本表(视图)导出的表,是一种虚表,实际在数据库中不存在,但是可以像操作其他表一样操作,操作的结果在实际表中体现。

Student

学号(sno)姓名(sname)性别(ssex)年龄(sage)所在系(sdept)

001

002

003

孟星

冷燕

王一

20

19

21

a

a

c

SQL语句执行顺序:

(8)SELECT (9)DISTINCT  (11)<Top Num> <select list>
(
1)FROM [left_table]
(
3)<join_type> JOIN <right_table>
(
2)        ON <join_condition>
(
4)WHERE <where_condition>
(
5)GROUP BY <group_by_list>
(
6)WITH <CUBE | RollUP>
(
7)HAVING <having_condition>
(
10)ORDER BY <order_by_list>

(1).FROM 子句, 组装来自不同数据源的数据
(2).WHERE 子句, 基于指定的条件对记录进行筛选
(3).GROUP BY 子句, 将数据划分为多个分组
(4).使用聚合函数进行计算
(5).使用 HAVING 子句筛选分组
(6).计算所有的表达式
(7).使用 ORDER BY 对结果集进行排序

SQL查询的一般形式:

SELECT [ALL|DISTINCT]目标列1或其表达式,目标列2或其表达式 ....

FROM  表名1,表名2  ....

WHERE  条件表达式

GROUP  BY 列名     HAVING  条件表达式

ORDER  BY  列名    ASC或DESC

谓词:

比较:=, >=, <=, !=, <>, !<, !>, NOT+左边的运算符

范围:BETWEEN  AND, NOT  BETWEEN  AND

集合:IN, NOT  IN

字符匹配:LIKE,NOT LIKE

空值:IS  NULL,IS  NOT  NULL

多条件:AND   OR   NOT 

all:

指查询得到所有行,默认值

distinct:

与all相对,去掉得到的重复的行

like:

 

having:

因SQL语句中WHERE 关键字无法与合计函数一起使用,所以增加 HAVING 子句来使用;

distinct:

关键词 DISTINCT 用于返回唯一不同的值,排除重复行

count:

计数函数,参数一般是列名,count(参数),得到的结果是行数
exist:

EXISTS语法并没有说哪个字段落在了子查寻的结果中,而是说exists后面的语句执行的结果是不是有记录,只要有记录,则主查询语句就成立。它代表‘存在’,用来引领嵌套查询的子查询,它不返回任何数据,只产生逻辑真值‘true’与逻辑假值‘False’。由EXISTS引出的子查询,其目标列表达式通常都用*(用null也可以),因为带有EXISTS的子查询只返回真值或假值,给出列名没有实际意义。

 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

关系表:二维表格,表格中的一行称为一个记录,一列称为一个字段,每列的标题称为字段名。

码        :一个字段或几个字段组合的值可唯一标志其对应记录,则称该字段或字段组合为

关系(Relation):一个关系对应通常说的一张表

元组(Tuple):表中的一行即为一个元组

属性(Attribute):表中的一列