sql语句基础教程

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SQL 教程

1SQL 简介

SQLStructured Query Language,结构查询语言是一个功能强大的数据库语言;SQL通常使用于数据库的通讯;ANSI美国国家标准学会声称,SQL是关系数据库管理系统的标准语言;S QL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据;使用SQL的常见关系数据库管理系统有:Oracle、 Sybase、 Microsoft SQL Ser ver、 Access、 Ingres等等;虽然绝大多数的数据库系统使用SQL,但是它们同样有它们自立另外的专有扩展功能用于它们的系统;但是,标准的SQL命令,比如"Select"、 "Insert"、 "Update"、 "Delete"、 "Create"和 "Drop"常常被用于完成绝大多数数据库的操作;

但是,不像其它的语言,如C、Pascal等,SQL没有循环结构比如if-then-else、do-wh ile以及函数定义等等的功能;而且SQL只有一个数据类型的固定设置,换句话说,你不能在使用其它编程语言的时候创建你自己的数据类型;

SQL功能强大,但是概括起来,它可以分成以下几组:

DMLData Manipulation Language,数据操作语言:用于检索或者修改数据;

DDLData Definition Language,数据定义语言:用于定义数据的结构,比如创建、修改或者删除数据库对象;

DCLData Control Language,数据控制语言:用于定义数据库用户的权限;

2SQL 常用语句

2.1 SELECT 语句

作用:SELECT 语句用于从表中选取数据;结果被存储在一个结果表中称为结果集;

语法:

SELECT 目标表的一个或多个列名称,列名前可加表达式,如:avg年龄 FROM 目标表的名称;以及:

SELECT FROM 表名称;

注释:代表选取全部;

示例:

下面是示范在一个表中选取自己想要的信息,例如我只想要老师们的联系电话;

这是原表教师表,里面包含了教师编号等等信息,在这个表中工作时间、政治面目等等都是我们不需要知道的信息所以我们要有选择的选取;

这个是在SQL视图中输入的代码如何打开SQL视图不在这里列举;

代码的含义是:选取“教师编号,姓名,性别,联系电话“这四个列,列的来源是“教师“这个表

这个是最终的结果,可以看到只有我们要的“教师编号,姓名,性别,联系电话“列,政治面目等并没有在里面;

拓展1:

SELECT DISTINCT 语句

作用:在一个表中,可能会包含重复值;这并不成问题,不过,有时你也许希望仅仅列出不同distinct的值;关键词 DISTINCT 作用就是用于返回唯一不同的值;

语法:

SELECT DISTINCT 列名称 FROM 表名称

示例:

在教师表中有两个人的名字是江小洋,这里示范只选取江小洋;

在原表中可以看到“教师编号“为09,16的两个人的名字都是江小洋;

这是SQL代码;代码解析是:选取列名为“姓名“中的唯一值,列的来源是”教师“这个表;这是结果,可以看到他只选取了一个江小洋;并没有显示两个江小洋;

拓展2:

SELECT 表达式列名语句

作用:往往我们在选取信息的时候希望能够直接得到一些间接信息;如,我想要知道班级的平均分;

语法:

SELECT 表达式列名 FORM 表名

示例:这是一个“选课成绩“表里面有一个”成绩“列,我希望直接得到成绩的平均值;

这是原表;

SQL代码图,名词解释:AVG:为每一组中的指定字段求平均值;更多的函数和逻辑运算符会在附录中列出

AS:为指定的列或表指定一个别名;因为AS内容并不多就不再单独列出一个拓展了

代码解析:选取“成绩”列,并计算这个字段的平均值,同时为这个字段重新命名为:成绩平均值,这个列的来源表是“选课成绩”表;

这是结果图,通过计算可以得知成绩列的平均值是.

课堂作业:为每个学生计算平均成绩和为每门课程计算平均成绩,并把结果字段更名为“平均值”;

2.2 WHERE 子句

作用:WHERE 子句用于规定选择的标准;WHERE后面接的是条件表达式,如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句

语法:

SELECT 列名称 FROM 表名称 WHERE 条件表达式

示例:

例如我想知道一个名字叫“洪智伟”的学生的信息;

这是原表,里面拥有多条学生信息,我们可以看到第一个就是“洪智伟”同学的信息,我们的目的就是选取他的信息;

代码图,代码解析:选取所有字段名,字段的来源表是“学生”表,选取的条件是“姓名”等于“洪智伟”的记录;

结果图,可以看到虽然来源表中有N条记录当选取到的记录只有一条;其姓名叫洪智伟;

拓展:AND & OR 运算符

作用:AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤;AND和OR 运算符AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来;如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录;如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条

语法:

SELECT 列名称 FROM 表名称 WHERE 条件 AND/OR 条件

注释:AND&OR可以嵌套使用

示例:

我想选取“所有山东省的男生”或“所有北京市的女生”

这是原表,数据非常多而且杂乱,用刷选来查找记录的话非常麻烦,所以选用SQL来查询;

代码图,代码解析:选取所有字段,字段的来源是“学生”表;选取的条件是“性别是男的并且简历是山东省的学生”或者“性别是女的并且简历是北京市的学生”本来想先做一个简单AND/OR语句再做多个拓展来介绍嵌套的使用,不过觉得太浪费篇幅,并且嵌套不难理解,注意一下嵌套需要用括号括住就可以了

课堂作业:选取是团员的男生和简历是山东省的女生;

相关文档
最新文档