SQL查询基础课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《SQL查询基础课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 查询 基础 课件
- 资源描述:
-
1、SQL查询基础1本章要点 SQL的基本概念和作用 SQL与SQL*Plus、PL/SQL之间的关系 Select Where Order By Group By Having2概述 本节包括两部分内容。首先,介绍SQL的作用和特点,SQL技术是本章的中心内容;其次,介绍SQL与SQL*Plus、PL/SQL之间的区别和联系,以便更好地学习和理解SQL。3SQL的作用和特点 SQL是结构化查询语言(structure query language)的简称,是关系型数据库管理系统中最流行的数据查询和更新语言。用户可以使用SQL语言在数据库中执行各种操作。1986年,SQL-86,也被称为SQL-1
2、。1992年,SQL-92,也被称为SQL-2。1999年,SQL-99,也被称为SQL-3。还存在不同的数据库管理系统厂商开发的不同类型的SQL。SQL查询语言包括了所有对数据库的操作,这些操作可以分为4个部分,即 数据定义语言DDL:定义数据库的逻辑结构 数据操纵语言DML:数据检索和数据更新 数据控制语言DCL:授权、完整性规则 事务管理语言TML:事务的定义、保存、提交commit、取消rollback4SQL与SQL*Plus、PL/SQL之间的关系 SQL*Plus是一个用于连接Oracle数据库的强大工具。使用该工具,用户可以连接服务器上的数据库,还可以执行许多操作。总结一下SQ
3、L*Plus的主要功能特点:在数据库中执行SQL语言和PL/SQL语言;更新数据库中的数据;执行数据查询;将查询结果集格式化为报表;建立、编辑、检索和执行SQL脚本;管理数据库;描述数据库中的表和PL/SQL对象;将数据从一个数据库复制到另一个数据库;向用户发送消息,并接受用户的输入。5PL/SQL PL/SQL是Oracle系统的过程化编程语言。用户可以使用PL/SQL语言编写在数据库中执行的定制程序和过程代码。如同拥有执行SQL语言的SQL引擎一样,Oracle系统也拥有执行PL/SQL语言的PL./SQL引擎。PL/SQL程序能够存储在数据库中,以便用于用户应用程序和日常操作。这样可以使
4、用户在Oracle数据库设计和规划的编程语言中,实现与用户数据密切相关的业务逻辑。6SQL语句的书写规则 一般情况下,在使用SQL语句(包括使用select语句)时,用户应该遵循下面的规则或约定:除非明确指定,否则SQL语句不区分大小写;SQL语句可以一行或多行的形式输入;关键字不能跨行;为了增强可读性,关键字左对齐;可以在SQL语句中使用各种制表符和伸缩符号。7select语句 数据操纵语言就是那些检索、更新表中数据的语句。这些语句包括select、insert、update、delete等4个语句。本节首先介绍select语句,后面将陆续讲述其他的数据操纵语言。在SQL语言中,最简单的语句
5、是select语句。使用select语句可以检索数据库中的信息。具体地说,使用select语句可以完成选择、投影、连接等运算。8select基本语法 在Oracle系统中,select语句的基本语法格式如下:select distinct*,column_name alias,from tablenamewheregroup byhavingorder by9基本的SELECT 命令SELECT*,column alias,.FROMtable;SELECT 识别什么列FROM 识别哪个表 选择所有列 DEPTNO DNAME LOC-10 ACCOUNTING NEW YORK 20 RES
6、EARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTONSQL SELECT*2 FROM dept;选择指定的列 DEPTNO LOC-10 NEW YORK 20 DALLAS 30 CHICAGO 40 BOSTONSQL SELECT deptno,loc 2 FROM dept;算数表达式 对NUMBER和DATE型数据可用算数运算创建表达式运算运算+-*/描述描述加法加法减法减法乘法乘法除法除法 使用算数运算 SQL SELECT ename,sal,sal+300 2 FROMemp;ENAME SAL SAL+300-KING 500
7、0 5300BLAKE 2850 3150CLARK 2450 2750JONES 2975 3275MARTIN 1250 1550ALLEN 1600 1900.14 rows selected.运算的优先级乘法和除法的优先级高于加法和减法同级运算的顺序是从左到右表达式中使用括号可强行改变优先级的运算顺序 运算的优先级SQL SELECT ename,sal,12*sal+100 2 FROM emp;ENAME SAL 12*SAL+100-KING 5000 60100BLAKE 2850 34300CLARK 2450 29500JONES 2975 35800MARTIN 1250
8、 15100ALLEN 1600 19300.14 rows selected.使用括号SQL SELECT ename,sal,12*(sal+100)2 FROM emp;ENAME SAL 12*(SAL+100)-KING 5000 61200BLAKE 2850 35400CLARK 2450 30600JONES 2975 36900MARTIN 1250 16200.14 rows selected.定义空值 空值是指不可用,不知道,不适用的值 空值不等于零或空格SQL SELECT ename,job,comm 2 FROMemp;ENAME JOB COMM-KING PRE
9、SIDENTBLAKE MANAGER.TURNER SALESMAN 0.14 rows selected.空值的运算表达式包括空值的算法表达式等于空SQL select ename NAME,12*sal+comm 2 from emp 3 WHERE ename=KING;NAME 12*SAL+COMM-KING处理NULL 当算术表达式包含NULL,其结果也是NULL Select ename,sal,comm,sal+comm from emp;使用NVL函数处理NULL NVL(expr1,expr2):如果expr1是null,则返回expr2;否则返回expr1 Select
10、 ename,sal,comm,sal+nvl(comm,0)as“月收入”from emp;使用NVL2函数处理NULL NVL2(expr1,expr2,expr3):如果expr1不是null,则返回expr2;否则返回expr3 Select ename,nvl2(comm,sal+comm,sal)from emp;20定义列的别名改变列的标题头使用计算结果列的别名如果使用特殊自符,或大小写敏感,或有空格时,需加双引号 使用列的别名 SQL SELECT ename AS name,sal salary 2 FROM emp;NAME SALARY-.SQL SELECT ename
11、 Name,2 sal*12 Annual Salary 3 FROM emp;Name Annual Salary-.连结操作将列或字符与其它列连结 用双竖条表示(|)产生的结果列是一个字符表达式使用连结操作SQL SELECTename|job AS Employees 2 FROM emp;Employees-KINGPRESIDENTBLAKEMANAGERCLARKMANAGERJONESMANAGERMARTINSALESMANALLENSALESMAN.14 rows selected.文字字符串文字字符串是一个包括在SELECT列表中的字符,表达式,或数字 日期和字符型文字字符
12、必须用单引号扩起来每返回一条记录字符被输出一次使用文字字符串Employee Details-KING is a PRESIDENTBLAKE is a MANAGERCLARK is a MANAGERJONES is a MANAGERMARTIN is a SALESMAN.14 rows selected.SQL SELECT ename|is a|job 2 AS Employee Details 3 FROM emp;检索日期列 默认日期显示格式:Select ename,hiredate from emp;使用YYYY-MM-DD显示格式显示日期 Select ename,to_
13、char(hiredate,YYYY-MM-DD)from emp;27 重复记录 缺省情况下查询显示所有行,包括重行SQL SELECT deptno 2 FROM emp;DEPTNO-10 30 10 20.14 rows selected.删除重复行SQL SELECT DISTINCT deptno 2 FROM emp;DEPTNO-10 20 30 使用where子句 使用select语句中的where子句可以限制数据量,实际上,select语句中的where子句可以用来指定检索数据的条件。where子句的语法格式如下:select distinct*,column_name a
14、lias,from tablenamewhere condition_expression以上的where子句用来指定检索到的数据应该满足指定的条件,参数condition_ expression就是用于指定条件。在where子句的条件中,可以比较各种列值、文字串、算术表达式、函数等内容。30使用WHERE子句SQL SELECT ename,job,deptno 2 FROM emp 3 WHERE job=CLERK;ENAME JOB DEPTNO-JAMES CLERK 30SMITH CLERK 20ADAMS CLERK 20MILLER CLERK 10字符串和日期字符串和日期要
15、用单引号扩起来字符串是大小写敏感的,日期值是格式敏感的缺省的日期格式是 DD-MON-YYSQL SELECTename,job,deptno 2 FROM emp 3 WHEREename=JAMES;SQL SELECTSELECT*FROMFROM emp WHEREWHEREhiredate 01-1月-82SQL SELECTSELECT*FROMFROM emp WHEREWHEREhiredateto_date(1982-01-01,YYYY-MM-DD)比较运算符运算符运算符=含义含义等于等于大于大于 大于等于大于等于 小于小于 小于等于小于等于不等于不等于使用比较运算符SQL
16、 SELECT ename,sal,comm 2 FROM emp 3 WHERE sal SELECTename,sal 2 FROM emp 3 WHEREsal BETWEEN 1000 AND 1500;LowerlimitHigherlimit 使用BETWEEN运算符显示某一 值域范围的记录使用IN运算符 使用IN运算符获得匹配列表值的记录 SQL SELECTempno,ename,sal,mgr 2 FROM emp 3 WHEREmgr IN(7902,7566,7788);EMPNO ENAME SAL MGR-7902 FORD 3000 7566 7369 SMITH
17、800 7902 7788 SCOTT 3000 7566 7876 ADAMS 1100 7788使用LIKE运算符 使用LIKE运算符执行通配查询 查询条件可包含文字字符或数字(%)可表示零或多个字符(_)可表示一个字符SQL SELECTename 2 FROM emp 3 WHEREename LIKE S%;使用LIKE运算符使用组合方式匹配字符You can combine pattern matching characters.使用ESCAPE 标识符来查找带特殊符号的字符号SQL SELECTename 2 FROMemp 3 WHEREename LIKE _A%;ENAME
18、-JAMES WARDSQL SELECTename 2 FROMemp 3 WHEREename LIKELIKE%a_%escapeescape a使用IS NULL运算符 查询包含空值的记录SQL SELECT ename,mgr 2 FROM emp 3 WHERE mgr IS NULL;ENAME MGR-KING逻辑运算符运算符运算符含含 义义AND如果组合的条件都是TRUE,返回TRUEOR如果组合的条件 之一是TRUE,返回TRUENOT如果下面的条件是FALSE,返回TRUE使用AND运算符AND需要条件都是TRUE.SQL SELECT empno,ename,job,s
19、al 2 FROM emp 3 WHERE sal=1100 4 AND job=CLERK;EMPNO ENAME JOB SAL-7876 ADAMS CLERK 1100 7934 MILLER CLERK 1300使用OR运算符OR需要条件之一是需要条件之一是TRUESQL SELECT empno,ename,job,sal 2 FROM emp 3 WHERE sal=1100 4 OR job=CLERK;EMPNO ENAME JOB SAL-7839 KING PRESIDENT 5000 7698 BLAKE MANAGER 2850 7782 CLARK MANAGER
展开阅读全文