sql基本学习资料

上传人:小** 文档编号:89363184 上传时间:2019-05-24 格式:PPT 页数:214 大小:1.73MB
返回 下载 相关 举报
sql基本学习资料_第1页
第1页 / 共214页
sql基本学习资料_第2页
第2页 / 共214页
sql基本学习资料_第3页
第3页 / 共214页
sql基本学习资料_第4页
第4页 / 共214页
sql基本学习资料_第5页
第5页 / 共214页
点击查看更多>>
资源描述

《sql基本学习资料》由会员分享,可在线阅读,更多相关《sql基本学习资料(214页珍藏版)》请在金锄头文库上搜索。

1、第1章 安装,1.1 ORACLE数据库安装 1.2 PL/SQL工具安装,默认下一步即可. 1.3 配置本机tnsname.ora文件 1.4 测试tnsname.ora配置是否正确 1.5 PL/SQL登录,第2章 SQL基础,2.1 数据库查询语言SQL 2.2 基本查询和排序 2.3 条件查询 2.4 函数 2.5 高级查询 2.6 阶段训练 2.7 练习,2.1 数据库查询语言SQL,2.1.1 SQL语言的特点和分类 SQL语言有以下的主要特点: * SQL语言可以在Oracle数据库中创建、存储、更新、检索和维护数据,其中主要的功能是实现数据的查询和数据的插入、删除、修改等操作。

2、 * SQL语言在书写上类似于英文,简洁清晰,易于理解。它由关键字、表名、字段名,表达式等部分构成。,* SQL语言属于非过程化的4GL(第四代语言)。 * SQL语言按功能可分为DDL语言、DML语言、DCL语言和数据库事务处理语言四个类别。 * SQL语言的主要关键字有:ALTER、DROP、REVOKE、AUDIT、GRANT、ROLLBACK、COMMIT、INSERT、SELECT、COMMENT、LOCK、UPDATE、CREATE、NOAUDIT、VALIDATE、DELETE、RENAME等。 按照SQL语言的不同功用,可以进一步对SQL语言进行划分。下表给出了SQL语言的分类

3、和功能简介。,表2-1 SQL语言的分类,2.1.2 SQL的基本语法 SQL语言的语法比较简单,类似于书写英文的语句。其语句一般由主句和若干个从句组成,主句和从句都由关键字引导。主句表示该语句的主要功能,从句表示一些条件或限定,有些从句是可以省略的。在语句中会引用到列名、表名或表达式。另外还有如下一些说明: * 关键字、字段名、表名等之间都要用空格或逗号等进行必要的分隔。 * 语句的大小写不敏感(查询的内容除外)。 * 语句可以写在一行或多行。 * 语句中的关键字不能略写和分开写在两行。,* 要在每条SQL语句的结束处添加“;”号。 * 为了提高可读性,可以使用缩进。 * 从句一般写在另一行

4、的开始处。 查询语句是最常见的SQL语句,它从给定的表中,把满足条件的内容检索出来。以下是最基本的SELECT语句语法。 SELECT 字段名列表 FROM 表名 WHERE 条件; SELECT为查询语句的关键字,后跟要查询的字段名列表,字段名列表用来指定检索特定的字段,该关键字不能省略。,字段名列表代表要查询的字段。 FROM 也是查询语句关键字,后面跟要查询的表名,该关键字不能省略。 WHERE条件限定检索特定的记录,满足“条件”的记录被显示出来,不满足条件的被过滤掉。 语句查询的结果往往是表的一部分行和列。如果字段名列表使用*,将检索全部的字段。如果省略WHERE条件,将检索全部的记录

5、。,【训练1】 查询部门10的雇员。 输入并执行查询: SELECT * FROM emp WHERE deptno=10; 结果略。 说明:该查询语句从emp表中检索出部门10 的雇员,条件由WHERE deptno=10 子句指定。,2.2 基本查询和排序,2.2.1 查询的基本用法 在Oracle数据库中,对象是属于模式的,每个账户对应一个模式,模式的名称就是账户名称。在表名前面要添加模式的名字,在表的模式名和表名之间用“.”分隔。我们以不同的账户登录数据库时,就进入了不同的模式,比如登录到STUDENT 账户,就进入了STUDENT模式。而在STUDENT模式要查询属于SCOTT模式的

6、表,就需要写成: SELECT * FROM SCOTT.EMP;,但如果登录用户访问属于用户模式本身的表,那么可以省略表名前面的模式名称。 SELECT * FROM emp; 1指定检索字段 下面的练习,只显示表的指定字段。 【训练1】 显示DEPT表的指定字段的查询。 输入并执行查询: SELECT deptno,dname FROM dept;,显示结果如下: DEPTNO DNAME - - 10 ACCOUNTING 20 RESEARCH 30 SALES 40 OPERATIONS 说明:结果只包含2列deptno和dname。在语句中给出要显示的列名,列名之间用“,”分隔。表

7、头的显示默认为全部大写。对于日期和数值型数据,右对齐显示,如deptno列。对于字符型数据,左对齐显示,如dname列。,【练习1】显示emp表的雇员名称和工资。 2显示行号 每个表都有一个虚列ROWNUM,它用来显示结果中记录的行号。我们在查询中也可以显示这个列。 【训练2】 显示EMP表的行号。 输入并执行查询: SELECT rownum,ename FROM emp;,结果如下: ROWNUM ENAME - - 1 SMITH 2 ALLEN 3 WARD 4 JONES 注意:显示的行号是查询结果的行号,数据在数据库中是没有行号的。,3显示计算列 在查询语句中可以有算术表达式,它将

8、形成一个新列,用于显示计算的结果,通常称为计算列。表达式中可以包含列名、算术运算符和括号。括号用来改变运算的优先次序。常用的算术运算符包括: * +:加法运算符。 * -:减法运算符。 * *:乘法运算符。 * /:除法运算符。 以下训练在查询中使用了计算列。,【训练3】 显示雇员工资上浮20%的结果。 输入并执行查询: SELECT ename,sal,sal*(1+20/100) FROM emp; 显示结果为: ENAME SAL SAL*(1+20/100) - - - SMITH 800 960 ALLEN 1600 1920 说明:结果中共显示了3列,第3列显示工资上浮20%的结果

9、,它不是表中存在的列,而是计算产生的结果,称为计算列。,【练习2】显示EMP表的雇员名称以及工资和津贴的和。 4使用别名 我们可以为表的列起一个别名,它的好处是,可以改变表头的显示。特别是对于计算列,可以为它起一个简单的列别名以代替计算表达式在表头的显示。 【训练4】 在查询中使用列别名。 输入并执行: SELECT ename AS 名称, sal 工资 FROM emp; 显示结果为: 名称 工资 - - SMITH 800 ALLEN 1600,说明:表头显示的是列别名,转换为汉字显示。在列名和别名之间要用AS分隔,如ename和它的别名“名称”之间用AS隔开。AS也可以省略,如sal和

10、它的别名“工资”之间用空格分割。 注意:如果用空格分割,要区别好列名和别名,前面为列名,后面是别名。 别名如果含有空格或特殊字符或大小写敏感,需要使用双引号将它引起来。,【训练5】 在列别名上使用双引号。 输入并执行查询: SELECT ename AS “Name“, sal*12+5000 AS “年度工资(加年终奖)“ FROM emp; 显示结果为: Name 年度工资(加年终奖) - - SMITH 14600 ALLEN 24200,说明:其中别名“Name”有大小写的区别,别名“年度工资(加年终奖) ”中出现括号,属于特殊符号,所以都需要使用双引号将别名引起。 【练习3】显示DE

11、PT表的内容,使用别名将表头转换成中文显示。 5连接运算符 在前面,我们使用到了包含数值运算的计算列,显示结果也是数值型的。我们也可以使用字符型的计算列,方法是在查询中使用连接运算。连接运算符是双竖线“|”。通过连接运算可以将两个字符串连接在一起。,【训练6】 在查询中使用连接运算。 输入并执行查询: SELECT ename|job AS “雇员和职务表“ FROM emp; 输出结果为: 雇员和职务表 - SMITHCLERK ALLENSALESMAN,说明:在本例中,雇员名称和职务列被连接成为一个列显示。 在查询中可以使用字符和日期的常量,表示固定的字符串或固定日期。字符和日期的常量需

12、要用单引号引起。下一个训练是作为上一个训练的改进。,【训练7】 在查询中使用字符串常量。 输入并执行查询: SELECT ename| IS |job AS “雇员和职务表“ FROM emp; 输出结果为: 雇员和职务表 - SMITH IS CLERK ALLEN IS SALESMAN 说明:本练习中将雇员名称、字符串常量“ IS ”和雇员职务3个部分连接在一起。,【练习4】显示DEPT表的内容,按以下的形式: 部门ACCOUNTING所在的城市为NEW YORK 6消除重复行 如果在显示结果中存在重复行,可以使用的关键字DISTINCT消除重复显示。,【训练8】 使用DISTINCT消

13、除重复行显示。 输入并执行查询: SELECT DISTINCT job FROM emp; 结果为: JOB - ANALYST CLERK MANAGER PRESIDENT SALESMAN,说明:在本例中,如果不使用DISTINCT关键字,将重复显示雇员职务,DISTINCT关键字要紧跟在SELECT之后。请去掉DISTINCT关键字,重新执行,并观察显示结果的不同。 【练习5】显示EMP表中不同的部门编号。 2.2.2 查询结果的排序 如果要在查询的同时排序显示结果,可以使用如下的语句: SELECT 字段列表 FROM 表名 WHERE 条件 ORDER BY 字段名1 ASC|D

14、ESC,字段名2 ASC|DESC.;,ORDER BY从句后跟要排序的列。ORDER BY 从句出现在SELECT语句的最后。 排序有升序和降序之分,ASC表示升序排序,DESC表示降序排序。如果不指明排序顺序,默认的排序顺序为升序。如果要降序,必须书写DESC关键字。,1升序排序 【训练1】 查询雇员姓名和工资,并按工资从小到大排序。 输入并执行查询: SELECT ename, sal FROM emp ORDER BY sal; 执行结果为: ENAME SAL - - SMITH 800 JAMES 950 注意:若省略ASC和DESC,则默认为ASC,即升序排序。,2降序排序 【训

15、练2】 查询雇员姓名和雇佣日期,并按雇佣日期排序,后雇佣的先显示。 输入并执行查询: SELECT ename,hiredate FROM emp ORDER BY hiredate DESC; 结果如下: ENAME HIREDATE - - ADAMS 23-5月 -87 SCOTT 19-4月 -87,MILLER 23-1月 -82 JAMES 03-12月-81 FORD 03-12月-81 注意: DESC表示降序排序,不能省略。 3多列排序 可以按多列进行排序,先按第一列,然后按第二列、第三列。 【训练3】 查询雇员信息,先按部门从小到大排序,再按雇佣时间的先后排序。 输入并执行查询: SELECT ename,deptno,hiredate FROM emp ORDER BY deptno,hiredate;,结果如下: EN

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号