2024年4月10日发(作者:)
第1章、简单查询语句
一、基本查询语句
1、基本的语法格式:
【select(SQL关键字)[distinct(滤除重复记录)] * /列名称„„ 别名 from table;】
2、书写SQL语句遵循的基本原则:①不区分大小写,除非特别指定;②可以写成一行或多行;③关键字不能简
写或分割于多行;④子句通常单独行书写,便于编辑和提高可读性;⑤使用Tab和缩进提高程序可读性;⑥关键
字最好使用大写,其他使用小写;⑦在SQL*Plus中,SQL语句是在SQL prompt状态下输入,并且每行都有编
号。是SQL的缓冲区,任何时候在缓冲区中只会存放当前一条语句。
3、| | 表示列与列、列与算术表达式、列与常量之间的合成。
第2章、限定查询和排序语句
1、限定数据行的查询语法格式:
【select [distinct] */ 列名称„„ 别名 from table where(限定条件)列名/表达式/常量/比较运算符;】
(其中比较运算符包括:=:等于、>:大于、>=:大于等于、<:小于、<=:小于等于、<>.!=.^=:不等于。
(要查询的列)between(下限)and(上限):两个值之间包括边界范围比较。 (要查询的列)in (集合,
用逗号隔开):和多个值中任意一个匹配,相当于多个or并列在一起。 (要查询的列)like+‘通配符和查询
的内容’:模糊查询、is null:是否是空值)
1.1、where子句中,字符串和日期数值必须用单引号引起来,数值型常量则不需要,字符型数据区分大小写,默
认的日期形式是:DD-MON-YY。
1.2、like(模糊查询):把握不准查询确切的值,通过字形匹配来查询。可以使用通配符:%:表示0或更多任意
的字符;_:代表一个字符。可以同时使用。当查询的内容包括%或_时,可以使用escape,即“/”转义符。
1.3、逻辑运算符:
and
True
Flase
Null
True
T
F
N
Flase
F
F
F
Null
N
F
N
or
True
Flase
null
true
T
T
T
False
F
F
N
Null
T
N
N
Not::如果条件为假则返回真值。
在where子句中。通过使用and和or在where中使用多个条件。
1.4运算符优先规则:算数运算符>连接符>比较运算符>not>and>or。
2、order by 子句:查询结果按照某种顺序排列显示。
order by 子句语法格式:
【select [distinct] */ 列名称„„ 别名 from table
where(限定条件)列名/表达式/常量/比较运算符
Order by (要查询的列) asc(生序排列)/desc(降序排序);】
注意:order by子句必须放在select语句的最后,并且可以指定一个参与排序的表达式或别名。可使用别名进行
排序。Select语句中只能有一个order by 子句。
2.1、默认的排序方式是升序,不同类型数据的升序排列原则:
☆ 数值型数据按照从小到大的顺序排列的;
☆ 日期型数据按照时间从早到晚的顺序排列的;
☆ 字符型数据按照字母顺序排列的;
☆ 空值在升序排列方式下排在最后,降序排列排在最前。
SQL运行过程:from首先运行,where其次运行,select再运行,order by 最后运行。对查询结果进行排序。
1
第3章、单行函数查询
1、单行函数的特点:
☆ 对查询返回的每一行都起作用。 ☆ 可以返回一个数据值或相对于原类型不同类型的数据值。
☆ 可以有一个或多个参数,参数可以是一列或一个表达式。 ☆ 每行返回一个结果。
☆ 可以用于select、where、order by子句,并且可以相互嵌套。 ☆ 只对一行进行操作。
2、单行查询语法格式:
【function_name(函数名称) column(列名)/ expression(字符串或计算表达式) [arg1(参数),arg2„„]】
3、字符函数:接受字符输入并且返回字符或数值。
① 大小写转换函数:lower(需转换的内容):将字符串转换成小写。Upper(需转换的内容):将字符串转换
成大写。initcap(需转换的内容):将每个单词的第一个字母转换成大写,其余字母转换成小写。
②字符处理函数:concat:将字符串连接在一起。substr:提取字符串的某一特定部分;参数:(字符串,截取起
始点[负数:从右往前数,然后从前往后截取],截取个数[省略表示截取到最后])。 length:获得字符串的个数。
instr:在字符串中查找某个字串的位置;参数(字符串,要查找的字符,从那个位置开始查找[默认值为1,负数:
一直从右往左数],第几次出现的位置)。lpad:以右对齐的方式填充字符型数据;参数:(字符串,填充长度,填
充内容)。rpad:以左对齐的方式填充字符型数据(参数同上)。trim:去掉字符串头部或尾部,如果被去除的字符
串和被处理的字符串是原义字符串则必须使用单引号引起来;参数:(去掉的字符串 from 被去掉的字符串)。
replase:替换;参数(字符串,被替换字符,替换的字符)。
4、数值函数:接受数值输入并返回数值。包括:round:四舍五入;参数:(数字,四舍五入后的小数点后位数[默
认值为0,负数为从小数点往左边数])。trunc:截取;参数:(数字,截取后小数点后面的位数[同上,但无四舍
五入功能])。mod:求余,多用于判断奇数偶数;参数:(被除数,除数)。
5、日期函数:对日期型进行操作,所有的日期函数都返回一个日期型数据,除了months_between函数,返回一
个数值。
Oracel9i默认的显示和输入形式是DD-MON-RR。Oracel有效的日期范围是公元前4712年1月1日到公元9999
年12月31日。日期的运算如下表:
操作
日期+数字
结果
日期
描述
在某日期的基础上加上一定
的天数
日期-数字 日期 在某日期的基础上减去一定
的天数
日期-日期 天数 一个日期减去另一个日期
(相差天数)
在某日期的基础上加上小时
YY与RR的比较:
转换的时间
系统当前时间
0-49
0-49 50-99 0-49 50-99
YY RR
本世
纪
本世
纪
本世
纪
本世
纪
下个
世纪
上个
世纪
本世
纪
50-99
本世
纪 日期+数字
/24
日期
◇ Sysdate:当前系统时间。
◇ day:对星期的计算。
5.1常用日期函数:
日期函数
months_between
(date1,date2)
add_months
(date,n)
next_day
(date,‘char’)
last_day
(date)
参数
date1、date2为
两个日期
date为一个日期
n为月数
char:星期几或字符串
date:某日期
2
含义
两个日期相差的月份数量
结果可正可负
向指定日期加上若干月数
n是整数。负数为累减
date之后一周内的星期几或字符串
求date所在月的最后一天


发布评论