欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

数据库原理与应用学习之关系数据库的标准查询语言SQL

程序员文章站 2022-03-02 21:50:49
1.sql中的数据查询 select 语句具有数据查询,统计,分组和排序的功能,一个完整的查询语法如下: select [all | distinct ]<目标列表达式1> [,目标列表...

1.sql中的数据查询

select 语句具有数据查询,统计,分组和排序的功能,一个完整的查询语法如下:

select [all | distinct ]<目标列表达式1> [,目标列表达式2],...]

from <表名或视图名1> [,<表名或视图名2>,...]

[where <元组选择条件表达式>]

[group by <属性列名1>[,[属性列名2>,...] [having <组选择条件表达式>]]

[order by <目标列名1>[asc | desc ] [ , <目标列名2> [asc | desc ], ..... ]];

(1)查询结果显示

1)select * from <表名>;

该语句查询了<表名>的所有属性

2)select <属性名> as 自己取得名称

from <表名>;

上面语句是as 的运用,可以自己取别名。

3)select distinct <属性名>

from <表名>

上面语句是distinct的运用,作用是查询的结果行不重复出现。

(2)条件语句的查询

在where语句中,可以使用运算符,比较操作符,逻辑运算符以及谓词等构成元组选择条件来查询满足条件的元组。

1)运算符

接下来会按照运算符的优先顺序从高到低进行排序

算术运算符:+,-,*,/,%比较运算符:=,<>,>=,>,<=,<谓词:[ not ] between ... and, [ not ] in, [ not ] like, is [not ] null.逻辑运算: not, and, or

2)使用between查询(用于判断某个值是否属于一个指定的区间)

表达式1 [ not ] between 表达式2 and 表达式3

3)使用like查询(用于字符串的比较)

<属性列名> [not] like 字符串表达式

字符_:代表任意一个单子符字符%:代表长度可以为0的任意长字符其他字符只能代表自己

4)in查询(适用于判断一个值是否属于一个集合)

表达式1 [not] in(v1,v2, ... ,vn)

(3)查询结果的排序
order by(按照一个或多个目标列的值进行升序(asc)或降序(desc)排序

语法格式:

order by <目标列1> [asc | desc] [,<目标列2> [asc | desc], .... ]

注意:如果order by 后面有多个目标列,则先按第一个目标列进行排序,然后接着第二目标列进行排序,依zhi类推。

(4)聚集函数

count (*) 统计元组个数

count ( [ distinct | all ] < 属性列名> ) 统计一属性列值的个数

sum( [ distinct | all ] < 属性列名 > ) 计算一属性列值的总和(该列必须是数值型)

avg ( [ distinct | all ] < 属性列名 > ) 计算一属性列值的平均值(该列必须是数值型)

max ( [ distinct | all ] < 属性列名 > ) 求一属性列值中的最大值

min ( [ distinct | all ] < 属性列名 > ) 求一属性列值中的最小值

(5)分组聚集

group by(将聚集函数作业于按照一个或多个属性列的值构造的分组上)

语法格式:

group by <属性列名1> [ , <属性列名2> , ... ] [having 条件]

注意:group by 依次按照<属性列名1>,<属性列名2>...的值对满足查询条件的元组进行分组,在所有这些属性上值相等的元组构成一组。