1.SQL的基本概况
1)含义:SQL是structured query languge的缩写,它是关系数据库的标准数据语言,所有的关系数据库管理系统都支持。
2)功能:数据查询、数据操作和数据定义
2.特点
1)一体化:包括数据定义、查询和操作等方面功能,可以完成数据库活动中的全部工作;
2)高度非过程化:只需告诉计算机用户“做什么”,SQL便可自动完成全部工作;
3)非常简洁:只有为数不多的几条命令组成;
4)它可以直接以命令方式使用,也可以嵌入到程序设计语言中以程序方式使用。
3.主要短语及其含义
1)select-说明要查询的数据
2)from-说明查询的数据来自哪些表,可对单表或多表进行查询
3)where-说明查询条件,即选择元组的条件
4)group by-用于对查询进行分组,可用它对数据进行分组汇总
5)having-必须跟group by短语一起使用,用来限定分组必须满足的条件
6)order by-用来对查询的结果进行排序
(二)SQL的查询功能
1.简单查询
1)适用范围:即单表查询,查询的字段信息和查询条件都来自于同一张表
2)语法格式:select 字段名1,…字段名n from 表名 where 条件式
3)查询细节:
distinct 去掉查询结果中的重复值
若查询某张表的全部字段,则可把select后的字段名全部用通配符*代替即可
union并运算可把两个select语句的查询结果合并成一个查询结果(要求是两个查询结果要具有相同的字段个数,并且对应字段的值要出自同一个值域,即具有相同的数据类型和取值范围)
查询去向:into array 数组名——将查询结果存放于数组中
into cursor 临时表文件名——将查询结果存放于临时只读文件,关闭时自动删除
into dbf/table 自由表文件名——将查询结果存放于永久表中
to file 文本文件名——将查询结果存放于文本文件中
2.简单的联接查询
1)适用范围:查询的字段信息或条件来自于多张表
2)语法格式:select 字段名1,…字段名n from 表名1,…表名n where 联接条件 and 其他条件
3.嵌套查询
1)适用范围:查询的字段信息出自于同一张表,而查询条件出自于其他表
2)语法格式:select 字段名1,…字段名n from 表名1 where 外部关键字 in (select 外部关键字 from 表名2 where 条件)
3)查询细节:
几个特殊的运算符:between…and…用于查询满足某个值域范围内的记录;like用于查询与指定字段值相匹配的记录(like后所指定的字段值一定是个字符型数据;通配符%表示0个或多个字符,“_”只表示一个字符)
排序:order by 字段名1 asce/desc,…字段名n asce/desc
注意:系统默认升序,asce可省略,允许按一个或多个字段对查询结果排序