资源描述:
《Oracle-2-1基本SQL语句单行、通用和多行函数伪列》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、SQL语言SQL语言SQL全称是“结构化查询语言(StructuredQueryLanguage)”SQL是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。随着关系数据库系统和SQL语言应用的日益广泛,SQL语言的标准化工作也在紧张革进行着,十多年来已制订了多个SQL标准;(1)1982年,美国国家标准化局(AMERICANNATIONALSTANDARDINSTITUTE,简称ANSI)开始制定SQL标准;(2)1986年,美国国家标准
2、化协会公布了SQL语言的第一个标准SQL86;(3)1987年,国际标准化组织(ISO)通过了SQL86标准;(4)1989年,国际标准化组织(ISO)对SQL86进行了补充,推出了SQL89标准;(5)1992年,ISO又推出了SQL92标准,也称为SQL2;(6)SQL99(也称为SQL3),增加了面向对象的功能。SQL语言包含4个部分:※数据定义语言(DDL,DataDefinitionLanguage),例如:CREATE、DROP、ALTER语句。※数据操作语言(DML,DataManipulationLanguage),
3、例如:INSERT、UPDATE、DELETE语句。※数据查询语言(DQL,DataQueryLanguageSELECT),例如:SELECT语句。※数据控制语言(DCL,DataControlLanguage),例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句。书写SQL应遵循以下简单原则SQL语句不区分大小写SQL语句可以写成一行或多行关键字不能简写或分割于多行子句通常置于单独行这样更具可读性并便于编辑Tab和缩进的使用可以提高程序的可读性关键字最好大写,其他词诸如表名、列名使用小写Select语句Sele
4、ct语句功能强大,语法也比较复杂。完整的select语句由6个子句构成,分别为:Select指定要获取表中哪些列数据From指定数据来自哪个(些)表Where指定获取哪些行数据Groupby用于对表中数据进行分组统计Having指定分组统计条件(跟groupby一起使用!)Orderby指定排序字段其中select和from子句是必选项,在select语句中同时包含where、groupby、having、orderby等多个子句,这些子句使用时是有一定顺序的,orderby必须是最后一条子句。算术操作符逻辑操作符比较操作符连接操作
5、符SQL操作符算术操作符加(+)、减(-)、乘(*)、除(/)(1)SELECTsal,sal*1.1,enameFROMemp;(2)SELECTcomm+200FROMemp;SQL操作符SQL操作符逻辑操作符说明xandyx和y全部为真xoryx和y有一个为真notxx的相反值逻辑运算SELECT*FROMdeptWHERE1=1;SELECT*FROMdeptWHERE1=2;SELECTempno,ename,sal,jobFROMempWHEREsal>=3000ANDJOB!='MANAGER‘;SELECTename
6、,sal,jobFROMempWHEREsal>=3000ORjob='MANAGER';比较运算符(示例)条件选择(1)SELECT*FROMempWHEREsal>=5000;(2)SELECT*FROMempWHEREjob<>'MANAGER';复合条件(1)SELECT*FROMempWHEREsalBETWEEN3000AND6000;(2)SELECT*FROMempWHEREjobIN('MANAGER','CLERK');(3)SELECT*FROMempWHEREjobNOTIN('MANAGER');匹配空值(
7、NULL)SELECT*FROMempWHEREcommISNOTNULL;NULL要注意的问题:SELECT*FROMempWHEREempnoNOTIN(SELECTmgrFROMempWHEREmgrISNOTNULL);SELECT*FROMempWHEREempnoNOTIN(SELECTmgrFROMemp);比较运算符(示例)any的用法:any大于最小SELECT*FROMempWHEREsal=ANY(3000,1500,2000,1200);//sal等于其中任何一个SELECT*FRO
8、MempWHEREsal>ANY(3000,1500,2000,1200);SELECT*FROMempWHEREsal