`

SQL的函数

阅读更多

oracle_install
oracle默认的端口:1521
DB_name  

    -->数据库名(数据库的唯一标识)
oracle_SID 
    -->实例名,一般要求与数据库名DB_name相同。
global_name  
    -->DB_name_domain
RAC 
          -->oracle集群

登录用户名:

sys  
    -->超级用户    DBA  默认安装产生  sys "/as sysdba"表明身份
system 
DBA权限            默认安装产生  system /xx(密码)
 
                                user /xx

oinstall --> 安装,升级

dba 
    --> 管理,维护
=================================================================================================

SQL 语句: "concat_substr_length_instr_lpad_trim_replace_round_trunc_mod_to_char_avg_count_sum_min_max_distinct_having_连接"


单行函数:

多行函数:

(1)字符函数: 
-->大小写控制函数:改变字符的大小写
lower('sql cource') 
  sql cource
upper('sql cource') 
  SQL COURCE
inicat('sql cource') Sql Cource

行记录对大小写是敏感的

select ename from emp where ename='SCOTT';
select 
ename,sal from emp where lower(ename)='king';  --->将所有的ename 转化为小写,然后再与king进行匹配

(2)字符控制函数:控制函数

concat ||
substr
length
instr
lpad || rpad
trim
replace

例子:

concat ('hello','world') 
连接字符:        结果:helloworld      --->select concat('hello','world') from dual 其中dual是一张空表
substr ('helloworld',4,3) 截取字符: 
      结果:low
substr ('helloworld',1,5)  
                结果:hello
length ('helloworld') 
      计算字符长度:  结果:10  -->字符长度为10
instr 
('helloworld',r)    计算字符位置:  结果:8
lpad 
  (sal,10,'*')            结果:******5000
rpad 
  (sal,10,'$')            结果:6000$$$$$$
trim 
  ('h'from 'helloworld') 截取一个字符 结果:elloworld

select replace(map,substr(map,4,1),null) from test;

==========================================================================================
两个例子:"lpad" 
&& "rpad"
SQL> select lpad(sal,10,'*') from emp;
LPAD(SAL,1
----------
*******800
******1600
******1250
******2975
******1250
******2850
******2450
******3000
******5000
******1500
******1100

SQL> select rpad(sal,10,'$') from emp;


RPAD(SAL,1

----------
800$$$$$$$
1600$$$$$$
1250$$$$$$
2975$$$$$$
1250$$$$$$
2850$$$$$$
2450$$$$$$
3000$$$$$$
5000$$$$$$
1500$$$$$$
1100$$$$$$
==========================================================================================
(3)数字函数
round :四舍五入
trunc :截断
mod 
  :取模求余
 

例子:select round(45.932,2),round(45.932,0) from dual;
 
    结果:  ROUND(45.932,2) ROUND(45.932,0)
 
                --------------- ---------------
 
                45.93                          46

select trunc(45.634,0) 
              from dual;
select mod(1600,3) 
                      from dual;
select empno.sal,mod(sal,1000) from emp;

(4)日期函数

世纪,年,月,日,时,分,秒
默认的日期格式: DD-MON-YY

修改默认的时间显示格式: "nls_date_format"

例子:
 
    修改日期的显示格式:alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

日期函数数学运算:

 
    select ename from emp
 
      where (sysdate-hiredate)/365>20;

"to_char"

select ename,to_char(hiredate,'fmDD Month yyyy') from emp;
 
    --->使用to_char函数使得显示的格式为:fmDD Month yyyy
 
    --->其中fm是使得前面的0去掉:


(5)通用函数

将空值转换成一个已知的值-->nvl
nvl (commission,0)
nvl (hiredate,'01-JAN-97')

例子: select ename,sal,nvl(comm,0) from emp;--->把comm列当中的空值 转换为0


nullif 函数

如果两个表达式不想等,返回第一个值,如果相等,则返回空值
select ename,length(ename),job,length(job),nullif(length(name),length(job) ) result from emp;

decode()函数--> 相当于if ...then...;if...then...

select ename,job,sal,decode(job,'SALESMAN',1.1*sal,'MANAGER',1.2*sal,sal) salnew from emp;

(6)分组函数

组函数:
avg
count
max
min
sum

例子: select avg(sal),max(sal),min(sal),sum(sal) from emp;

 
        select count(*) from emp;
 
       
distinct
distinct :返回非空且不重复的记录总数
select count(distinct job) from emp;

group by

group by子句语法---->可以将表中数据分成若干组
在select 列表中所有未包含在组函数中的列都应该包含在group by中。
 
                \-->这里的组函数是指avg,count,max,min,sum;
语法: select ename,deptno,avg(sal) from emp group by deptno,ename;
 
      这个时候ename,deptno没有包含组函数,而avg(sal)包含组函数,因此,deptno,ename应该放在group by 后面。

(7)过滤函数having

having avg(sal) > 2000;
select deptno,max(sal) from emp group by deptno having max(sal)>2000 order by max(sal);

(8)多表查询:

笛卡尔集:---> select * from emp,dept -->将会出现笛卡尔集现象。
1.省略连接条件
2.连接条件无效
3.所有的表中的所有行互相连接

多表查询的语法结构:

select e.ename,e.sal from emp e ,dept d
where e.deptno=d.deptno
and e.loc='CHICAGO'

连接类型:

Equi.join 
    等连接:  n张表至少需要n-1个条件
non-Equijion 非等连接: 例如 between ..and ...
outer join 
  外连接
self join 
    自连接


cross joins

natural joins
full join 
       

例子: 等连接

select e.ename,e.sal,d.loc,d.dname from emp e,dept d
where e.deptno=d.deptno;
查询用户名,薪水,所在城市,部分名称。


非等连接

select e.ename,e.sal,g.empno from emp e,job_grade g
where e.sal between g.minsal and g.maxsal;
上面的意思是:从emp表中取 ename跟sal两列,条件是emp.sal的数值要求在job_grade 中minsal 与maxsal之间。

外连接

select e.ename,e.sal,d.loc from emp e ,dept d
where e.deptno(+)=d.deptno; 
--->全部扫描,由于(+)在"="左边,则全部扫描=号 右边的表。

显示table1 中不满足条件的行记录:

select table1.column,table2.column from table1,table2
where table1.column=table2.column(+);
 
                        --->全部扫描,由于(+)在"="右边,则全部扫描=号 左边的表。

"左连接" "右连接" "外连接" "内连接"





ENAME 
                      SAL LOC
---------- ---------- -------------
SMITH 
                      800 DALLAS
ALLEN 
                    1600 CHICAGO
WARD 
                      1250 CHICAGO
JONES 
                    2975 DALLAS
MARTIN 
                  1250 CHICAGO
BLAKE 
                    2850 CHICAGO
CLARK 
                    2450 NEW YORK
SCOTT 
                    3000 DALLAS
KING 
                      5000 NEW YORK
TURNER 
                  1500 CHICAGO
ADAMS 
                    1100 DALLAS

ENAME 
                      SAL LOC
---------- ---------- -------------
JAMES 
                      950 CHICAGO
FORD 
                      3000 DALLAS
MILLER 
                  3000 NEW YORK
 
                                        BOSTON
 
                                        perk









分享到:
评论

相关推荐

    sql函数大全-sql函数大全

    SQL 函数大全 SQL 函数大全是指在 SQL 语言中所使用的各种函数,它们可以帮助开发者更方便地处理数据、进行计算、转换数据类型等。下面是 SQL 函数大全的详细说明: 一、内部函数 内部函数是 SQL 语言中最基本也...

    sql函数大全及详解

    SQL 函数大全及详解 SQL 函数是数据库管理系统中的一种重要组件,对于数据库的查询、计算和约束等操作都有着至关重要的作用。下面是关于 SQL 函数的详细知识点。 创建自定义函数 创建自定义函数的 Transact-SQL ...

    很全面的SQL函数及例子

    在这个"很全面的SQL函数及例子"中,我们可以期待学习到一系列与SQL函数相关的知识,特别是针对SQL Server 2000这个版本的。 首先,SQL Server 2000是微软公司推出的一款关系型数据库管理系统,它提供了丰富的SQL...

    sql函数ppt有需要的可以下来看看

    SQL函数是数据库语言SQL中的重要组成部分,用于处理和操作数据。在Oracle数据库中,SQL函数提供了丰富的内置功能,使得数据库管理员和开发人员能够方便地进行数据检索、转换和计算。以下是一些关于SQL函数和Oracle...

    sql函数函数大全.sql

    sql函数函数大全 常用的字符函数,日期函数,数据转换函数==

    Oracle sql 函数大全 比较常用的一些 函数 整理

    本文将对 Oracle SQL 函数大全进行分类和讲解,涵盖字符串函数、字符转换函数、去空格函数、取子串函数、字符串比较函数、字符串操作函数等多种函数。 一、字符转换函数 字符转换函数是将字符或字符串从一种形式...

    SQL函数.docx

    ### SQL函数详解——基于Oracle数据库 #### 一、概述 SQL函数是数据库系统为了方便用户进行数据处理而提供的一系列内置函数。Oracle数据库作为业界领先的数据库管理系统之一,提供了丰富的SQL函数来支持各种复杂的...

    Oracle内置SQL函数-分类整理大全

    Oracle内置SQL函数是数据库查询和操作中不可或缺的一部分,它们极大地丰富了SQL语言的功能,使得数据处理更加灵活高效。以下是对这些函数的详细分类和解释: **F.1 字符函数——返回字符值** 这类函数主要用于处理...

    SQL函数命令大全[总结].pdf

    SQL 函数命令大全是软件开发中不可或缺的一部分,涵盖了各种 SQL 函数命令,包括内部函数、日期与时间函数、代数函数、指数与对数函数等。 内部函数 内部函数是 SQL 中最基本也是最常用的函数,包括: 1. COUNT...

    SQL 函数 字段内容更新插入

    当我们需要更新或插入字段内容时,SQL函数就显得尤为重要。以下是一些关于如何使用SQL函数进行字段内容更新插入的关键知识点: 1. **更新字段内容**: 更新数据库表中的特定字段内容,可以使用`UPDATE`语句。基本...

    oracle/sql函数大全

    sql 函数 大全 oracle 基于oracle 的函数大全,很使用。

    SQL 函数集合

    SQL 函数集合 SQL 函数是结构化查询语言(Structured Query Language)中的一种重要组成部分,它们可以对数据进行处理、转换和计算,以便更好地存储、管理和检索数据。SQL 函数可以分为多种类型,每种类型都有其...

    oracle中的sql函数

    oracle中的sql函数说明,详细描述函数的各个参数。

    数据库SQL函数大全

    SQL函数则是SQL中的核心组成部分,它们提供了处理数据的各种方法,包括计算、聚合、转换、比较等。下面将详细介绍一些常见的SQL函数。 一、算术函数 1. SUM(): 计算一组数值的总和。 2. AVG(): 计算平均值。 3. MAX...

    SQl 函数说明大全

    以下是对标题和描述中提到的SQL函数的详细说明: 1. **聚合函数**:这类函数如COUNT、SUM、MIN和MAX,用于对一组值进行统计操作。COUNT计算行数,SUM求和,MIN找出最小值,MAX找出最大值,这些函数通常在GROUP BY...

    真正的SQL函数大全

    SQL 函数大全 SQL 函数是 SQL 语言中最基本也是最重要的一部分,它们可以帮助我们实现各种复杂的数据处理和分析任务。本文总结了一些常用的 SQL 函数,包括字符串处理函数、数学函数、日期函数和系统函数等。 一、...

    SQL函数大总结_实用的SQL函数

    SQL函数大总结 实用的sql函数 ABS(x) 函数,此函数用来返回一个数的绝对值。 ACOS(x)函数,返回X的反余弦值。X范围从1到-1,输入值从0到派,以弧度为单位。 ASIN(x)函数,返回X的反正弦值。X范围从1到-1,输入值从-...

    SQL函数大全

    SQL函数是数据库管理中不可或缺的一部分,它们用于处理和操作从表中检索出来的数据,以满足各种分析和展示需求。在SQL中,函数可以分为多种类别,每种都有特定的作用和功能。 1. 聚合函数:这类函数如COUNT、SUM、...

    sql函数大全

    以下是一些基本的SQL函数及其详细解释,这些内容通常会包含在“SQL函数大全”中: 1. **聚合函数**: - `COUNT(*)`:计算表中的记录数量。 - `SUM(column_name)`:计算指定列的总和。 - `AVG(column_name)`:求...

    oracle SQL查询和SQL函数手册 基本涵盖了常用的

    Oracle SQL查询和SQL函数是数据库管理员、开发人员以及数据分析者在处理Oracle数据库时不可或缺的工具。这份手册详尽地介绍了如何有效地使用SQL语言来查询、分析和操作数据,旨在提供全面且实用的知识点。 1. **SQL...

Global site tag (gtag.js) - Google Analytics