SQL-RESUMEN

70
 5 INTRODUCCIÓN A SQL 5.1 ¿Qué es el SQL? El SQL (St ruc tur ed que ry lan gua ge) ,  len gua je de con sul a es !uc u! ado, es un lenguaje surgido de un proyecto de investigación de IBM para el acceso a bases de datos relacionales. Actualente se !a convertido en un es"nda!  de len guaje de b ases de datos, y la ayor"a de los sisteas de bases de datos lo soportan, desde sisteas para ordenadores personales, !asta grandes ordenadores. #or supuesto, a partir del est$ndar cada sistea !a desarrollado su propio S%& que  puede variar de un sistea a otro, pero con cabios que no suponen ninguna coplicación para alguien que cono'ca un S%& concreto, coo el que vaos a ver aqu" correspondiente al Access. *oo su nobre indica, el S%& nos #e!$%e reali'ar consulas a la &ase de daos . #ero el nobre se queda corto ya que S%& ade$s reali'a +unciones de de'%n%c%(n) con!ol * ges%(n de la &ase de daos.  &as sentencias S%& se clasi+ican segn su +inalidad dando origen a tres -lenguajes o ejor dic!o sublenguajes/ El DDL (0ata 0escription&anguage), lenguaje de de'%n%c%(n de datos, incluye órdenes para de+inir, odi+icar o borrar las tablas en las que se alacenan los datos y de las relaciones entre estas. (Es el que $s varia de un sistea a otro) El DCL (0a ta *on tro l &an gua ge) , len gua je de con !ol  de datos, cont ien e eleentos t iles para tra ba jar en un entorno ult iusuario, en el que es i po rtante la protecci ón de lo s da tos, la se gu ri da d de la s ta bl as y el estableciiento de restricciones en el acceso, as" coo eleentos para coordinar la copartición de datos por parte de usuarios concurrentes, asegurando que no inter+ieren unos con otros. El D+L (0ata Manipulation &angu age), lenguaje de $an%#ulac %(n de dat os, nos perite recuperar los datos alacenados en la base de datos y tabi1n 1

description

Resumen sobre SQL

Transcript of SQL-RESUMEN

Facultad de Ciencias Fsicas y Matemticas

5 INTRODUCCIN A SQL

5.1 Qu es el SQL?ElSQL(Structured query language),lenguaje de consulta estructurado, es un lenguaje surgido de un proyecto de investigacin de IBM para el acceso a bases de datos relacionales. Actualmente se ha convertido en unestndar de lenguaje de bases de datos, y la mayora de los sistemas de bases de datos lo soportan, desde sistemas para ordenadores personales, hasta grandes ordenadores.

Por supuesto, a partir del estndar cada sistema ha desarrollado su propio SQL que puede variar de un sistema a otro, pero con cambios que no suponen ninguna complicacin para alguien que conozca un SQL concreto, como el que vamos a ver aqu correspondiente al Access2000.

Como su nombre indica, el SQL nospermiterealizarconsultas a la base de datos. Pero el nombre se queda corto ya que SQL adems realiza funciones dedefinicin, control y gestin de la base de datos.Las sentencias SQL se clasifican segn su finalidad dando origen a tres lenguajes o mejor dicho sublenguajes:

ElDDL(Data DescriptionLanguage),lenguaje de definicinde datos, incluye rdenes para definir, modificar o borrar las tablas en las que se almacenan los datos y de las relaciones entre estas. (Es el que ms varia de un sistema a otro) ElDCL(Data Control Language),lenguaje de controlde datos, contiene elementos tiles para trabajar en un entorno multiusuario, en el que es importante la proteccin de los datos, la seguridad de las tablas y el establecimiento de restricciones en el acceso, as como elementos para coordinar la comparticin de datos por parte de usuarios concurrentes, asegurando que no interfieren unos con otros.

ElDML(Data ManipulationLanguage),lenguaje de manipulacinde datos, nos permite recuperar los datos almacenados en la base de datos y tambin incluye rdenes para permitir al usuario actualizar la base de datos aadiendo nuevos datos, suprimiendo datos antiguos o modificando datos previamente almacenados.5.2 Caractersticas del lenguajeUna sentencia SQL es como unafrase(escrita eningls) con la que decimoslo que queremos obtener y de donde obtenerlo.

Todas las sentencias empiezan con unverbo(palabra reservada que indica la accin a realizar), seguido del resto declusulas, algunasobligatoriasy otrasopcionales que completan la frase. Todas las sentencias siguen unasintaxispara que se puedan ejecutar correctamente.5.3 Lenguaje de Manipulacin de Datos

El DML(DataManipulationLanguage) lenguaje de manipulacin de datos es un idioma proporcionado por los [[sistema de gestin de base de datos] sistemas gestores de bases de datos] que permite a los usuarios de la misma llevar a cabo las tareas de consulta o modificacin de los datos contenidos en las Bases de Datos del Sistema Gestor de Bases de Datos.

5.3.1 Sentencias DML

5.3.1.1 SELECT

Una de las sentencias SQL ms importantes es SELECT, ya que permite realizar consultas sobre los datos almacenados en la base de datos.

Sintaxis SQL SELECT

SELECT * FROM nombretabla

SELECT columna1, columna2 FROM nombretabla

Ejemplo:

Para los ejemplos, tendremos la siguiente tabla de personas denominada personas

Estos son los datos almacenados en la tabla personas

Nombre

apellido1

apellido2

ANTONIO

PEREZ

GOMEZ

ANTONIO

GARCIA

BENITO

LUIS

LOPEZ

PEREZ

Si queremos consultar todos los datos de la tabla personas

SELECT * FROM personas

Este ser el resultado:

Nombre

apellido1

apellido2

ANTONIO

PEREZ

GOMEZ

ANTONIO

GARCIA

BENITO

LUIS

LOPEZ

PEREZ

5.3.1.2 INSER INTOLa sentencia INSERT INTO se utiliza para insertar nuevas filas en una tabla.

Es posible insertar una nueva fila en una tabla de dos formas distintas:

INSERT INTO nombre_tablaVALUES (valor1, valor2, valor3, .)

INSERT INTO nombre_tabla (columna1, columna2, columna3,.)VALUES (valor1, valor2, valor3, .)

Ejemplo:

Dada la siguiente tabla personas:

Nombre

apellido1

apellido2

ANTONIO

PEREZ

GOMEZ

LUIS

LOPEZ

PEREZ

ANTONIO

GARCIA

BENITO

Si queremos insertar una nueva fila en la tabla personas, lo podemos hacer con cualquiera de las dos sentencias siguientes:

INSERT INTO personasVALUES ('PEDRO', 'RUIZ', 'GONZALEZ')INSERT INTO personas (nombre, apellido1, apellido2)VALUES ('PEDRO', 'RUIZ', 'GONZALEZ')

Cualquiera de estas sentencias anteriores produce que se inserte una nueva fila en la tabla personas, quedando as dicha tabla:

Nombre

apellido1

apellido2

ANTONIO

PEREZ

GOMEZ

LUIS

LOPEZ

PEREZ

ANTONIO

GARCIA

BENITO

PEDRO

RUIZ

GONZALEZ

5.3.1.3 UPDATELa sentenciaUPDATEse utiliza para modificar valores en una tabla.

La sintaxis de SQL UPDATE es:

UPDATE nombre_tablaSET columna1 = valor1, columna2 = valor2WHERE columna3 = valor3

La clusula SET establece los nuevos valores para las columnas indicadas.

La clusula WHERE sirve para seleccionar las filas que queremos modificar.

Ojo: Si omitimos la clusula WHERE, por defecto, modificar los valores en todas las filas de la tabla.

Ejemplo del uso de SQL UPDATE

Nombre

apellido1

apellido2

ANTONIO

PEREZ

GOMEZ

LUIS

LOPEZ

PEREZ

ANTONIO

GARCIA

BENITO

PEDRO

RUIZ

GONZALEZ

Si queremos cambiar el apellido2 'BENITO' por 'RODRIGUEZ' ejecutaremos:

UPDATE personasSET apellido2 = 'RODRIGUEZ'WHERE nombre = 'ANTONIO'AND apellido1 = 'GARCIA'AND apellido2 = 'BENITO'

Ahora la tabla 'personas' quedar as:

Nombre

apellido1

apellido2

ANTONIO

PEREZ

GOMEZ

LUIS

LOPEZ

PEREZ

ANTONIO

GARCIA

RODRIGUEZPEDRO

RUIZ

GONZALEZ

5.3.1.4 DELETELa sentenciaDELETEsirve para borrar filas de una tabla.

La sintaxis de SQL DELETE es:

DELETE FROM nombre_tablaWHERE nombre_columna = valor

Si queremos borrar todos los registros o filas de una tabla, se utiliza la sentencia:

DELETE * FROM nombre_tabla;

Ejemplo de SQL DELETE para borrar una fila de la tabla personas

Nombre

apellido1

apellido2

ANTONIO

PEREZ

GOMEZ

LUIS

LOPEZ

PEREZ

ANTONIO

GARCIA

RODRIGUEZPEDRO

RUIZ

GONZALEZ

Si queremos borrar a la persona LUIS LOPEZ PEREZ, podemos ejecutar el comando:

DELETE FROM personasWHERE nombre = 'LUIS'AND apellido1 = 'LOPEZ'AND apellido2 = 'PEREZ'

La tabla 'personas' resultante ser:

Nombre

apellido1

apellido2

ANTONIO

PEREZ

GOMEZ

ANTONIO

GARCIA

RODRIGUEZPEDRO

RUIZ

GONZALEZ

Principio del formulario

Final del formulario

5.4 Lenguaje de Definicin de Datos (DDL)El DDL (Data Definition Language) lenguaje de definicin de datos es la parte del SQL que ms vara de un sistema a otro ya que esa rea tiene que ver con cmo se organizan internamente los datos y eso, cada sistema lo hace de una manera u otra.5.4.1 Sentencias DDL5.4.1.1 CREATE TABLE

La sentenciaCREATE TABLEse utiliza para crear una tabla en una base de datos existente.

Sintaxis CREATE TABLE

CREATE TABLE nombretabla{nombrecolumna1 tipodato1,nombrecolumna2 tipodato2,nombrecolumna3 tipodato3,..}

Ejemplo CREATE TABLE

CREATE TABLE personas{nombre varchar(255),apellido1 varchar(255),apellido2 varchar(255),depint}

Esta sentencia crear la base de datos 'personas' con 4 columnas.

Las columnas 'nombre', 'apellido1' y 'apellido2' son de tipo 'varchar', es decir, acepta valores alfanumricos hasta una longitud mxima de 255 caracteres.

La columna 'dep' es de tipo 'int', es decir, acepta slo nmeros.5.4.1.2 ALTER

La sentenciaSQL ALTERse utiliza para aadir, eliminar o modificar columnas de una tabla.

Sintaxis SQL ALTER

Para aadir una nueva columna a una tabla

ALTER TABLE nombretablaADD nombrecolumnatipodatocolumna

Para borrar una columna de una tabla

ALTER TABLE nombretablaDROP COLUMN nombrecolumna

Para modificar el tipo de dato de una columna de una tabla

ALTER TABLE nombretablaALTER COLUMN nombrecolumnatipodatocolumna

Ejemplos de SQL ALTER

perNombreapellido1apellido2

1ANTONIOPEREZGOMEZ

2ANTONIOGARCIARODRIGUEZ

3PEDRORUIZGONZALEZ

Dada la siguiente tabla de 'personas', queremos aadir una nueva columna, denominada 'fechadenacimiento'

ALTER TABLE personasADD fechadenacimiento date

pernombreapellido1apellido2Fechadenacimiento

1ANTONIOPEREZGOMEZ

2ANTONIOGARCIARODRIGUEZ

3PEDRORUIZGONZALEZ

Si queremos modificar el tipo de dato de la columna 'fecha', y ponerle tipo 'year' en lugar de tipo 'date'

ALTER TABLE personasALTER COLUMN fechadenacimientoyear

Si queremos borrar la columna 'fechadenacimiento', y dejarlo igual que al principio

ALTER TABLE personasDROP COLUMN fechadenacimiento

perNombreapellido1apellido2

1ANTONIOPEREZGOMEZ

2ANTONIOGARCIARODRIGUEZ

3PEDRORUIZGONZALEZ

5.4.1.3 DROPLa sentenciaDROPse utiliza para borrar definitivamente un ndice, tabla o base de datos.

DROP INDEXSintaxis DROP INDEX para MySQL

ALTER TABLE nombretablaDROP INDEX nombreindice

Sintaxis DROP INDEX para DB2 y ORACLE

DROP INDEX nombreindice

Sintaxis DROP INDEX para ACCESS

DROP INDEX nombreindiceON nombretabla

Sintaxis DROP INDEX para SQLSERVER

DROP INDEX nombretabla.nombreindice

DROP TABLESe utiliza DROP TABLE para borrar definitivamente una tabla

DROP TABLE nombretabla

DROP DATABASESe utiliza para borrar una base de datos definitivamente.

DROP DATABASE nombrebasededatos5.5 Las consultas simples5.5.1 WHERE

La clusula WHERE se utiliza para hacer filtros en las consultas, es decir, seleccionar solamente algunas filas de la tabla que cumplan una determinada condicin.En la consulta slo aparecern las filas para las cuales la condicin es verdadera (TRUE), los valores nulos (NULL) no se incluyen por lo tanto en las filas del resultado. La condicin de seleccinpuede ser cualquiercondicin vlidaocombinacin de condicionesutilizando los operadoresNOT(no)AND(y) yOR(). En ACCESS2000 una clusula WHERE puede contener hasta 40 expresiones vinculadas por operadores lgicos AND y OREl valor de la condicin debe ir entre comillas simples ''.

5.5.1.2CONDICIONES DE SELECCIN

Las condiciones de seleccin son las condiciones que pueden aparecer en la clusula WHERE.

En SQL tenemos cinco condiciones bsicas:

el test de comparacinel test de rangoel test de pertenencia a un conjuntoel test de valor nuloel test de correspondencia con patrn.

El test de comparacin.

Compara el valor de una expresin con el valor de otra. La sintaxis es la siguiente:

= igual que distinto de< menor que mayor que>= mayor o igual

Por ejemplo:

Seleccionar las personas cuyo nombre sea ANTONIO

SELECT * FROM personasWHERE nombre = 'ANTONIO'

Nombreapellido1apellido2

ANTONIOPEREZGOMEZ

ANTONIOGARCIABENITO

5.5.2 OPERADORES AND OR

Losoperadores AND y ORse utilizan para filtrar resultados con 2 condiciones.

El operadorANDmostrar los resultados cuando se cumplan las 2 condiciones.

Condicin1 AND condicin2

El operadorORmostrar los resultados cuando se cumpla alguna de las 2 condiciones.

Condicion1 OR condicion2

En la tabla personas

nombreapellido1apellido2

ANTONIOPEREZGOMEZ

ANTONIOGARCIABENITO

LUISLOPEZPEREZ

La siguiente sentencia (ejemplo AND) dar el siguiente resultado:

SELECT * FROM personasWHERE nombre = 'ANTONIO'AND apellido1 = 'GARCIA'

Nombreapellido1apellido2

ANTONIOGARCIABENITO

La siguiente sentencia (ejemplo OR) dar el siguiente resultado:

SELECT * FROM personasWHERE nombre = 'ANTONIO'OR apellido1 = 'GARCIA'

Nombreapellido1apellido2

ANTONIOPEREZGOMEZ

ANTONIOGARCIABENITO

Tambin se pueden combinar AND y OR, como el siguiente ejemplo:

SELECT * FROM personasWHERE nombre = 'ANTONIO'AND (apellido1 = 'GARCIA' OR apellido1 = 'LOPEZ)

Nombreapellido1apellido2

ANTONIOGARCIABENITO

5.5.3 ORDER BY

Se utiliza para especificar el criterio de ordenacin de la respuesta a la consulta. Por defecto la ordenacin es ascendente (ASC), aunque se puede especificar un orden descendente con la utilizacin del comando (DES). La ordenacin se puede establecer sobre el contenido de columnas o sobre expresiones con columnas.SELECT nombre_columna(s)FROM nombre_tablaORDER BY nombre_columna(s) ASC|DESC

Por ejemplo, en la tabla personas:nombreapellido1apellido2

ANTONIOPEREZGOMEZ

LUISLOPEZPEREZ

ANTONIOGARCIABENITO

SELECT nombre, apellido1FROM personasORDER BY apellido1 ASC

Esta es la consulta resultante:

Nombreapellido1

LUISLOPEZ

ANTONIOGARCIA

ANTONIOPEREZ

Ejemplo de ordenacin descendiente (DES)

SELECT nombre, apellido1FROM personasORDER BY apellido1 DESC

Esta es la consulta resultante:

Nombreapellido1

ANTONIOPEREZ

ANTONIOGARCIA

LUISLOPEZ

5.5.4 BETWEEN

El operador BETWEEN se utiliza en la clusula WHERE para seleccionar valores entre un rango de datos.

Sintaxis de SQL BETWEEN

SELECT columnaFROM tabla WHERE columnaBETWEEN valor1 AND valor2

Ejemplo de SQL BETWEEN

Dada la siguiente tabla 'personas'

Nombreapellido1apellido2

ANTONIOPEREZGOMEZ

ANTONIOGARCIARODRIGUEZ

PEDRORUIZGONZALEZ

Seleccionar personas cuyo apellido1 est entre 'FERNANDEZ y 'HUERTAS'

SELECT *FROM personasWHERE apellido1BETWEEN 'FERNANDEZ' AND 'HUERTAS'

Nombreapellido1apellido2

ANTONIOGARCIARODRIGUEZ

Seleccionar personas cuyo apellido1 no est entre 'FERNANDEZ y 'HUERTAS'

SELECT *FROM personasWHERE apellido1NOT BETWEEN 'FERNANDEZ' AND 'HUERTAS'

nombreapellido1apellido2

ANTONIOPEREZGOMEZ

PEDRORUIZGONZALEZ

5.6 Consultas multitabla

5.6.1 INNER JOIN

La sentenciaINNER JOINes la sentencia JOIN por defecto, y permite emparejar filas de distintas tablas de forma ms eficiente que con el producto cartesiano cuando una de las columnas de emparejamiento est indexada. Ya que en vez de hacer el producto cartesiano completo y luego seleccionar la filas que cumplen la condicin de emparejamiento, para cada fila de una de las tablas busca directamente en la otra tabla las filas que cumplen la condicin, con lo cual se emparejan slo las filas que luego aparecen en el resultado.

La sintaxis es la siguiente:

Ejemplo SQL INNER JOIN

Tabla personas, con la clave primaria "per "

pernombreapellido1apellido2Dep

1ANTONIOPEREZGOMEZ1

2ANTONIOGARCIARODRIGUEZ2

3PEDRORUIZGONZALEZ2

Tabla "departamentos", con la clave primaria "dep"

depDepartamento

1ADMINISTRACION

2INFORMATICA

3COMERCIAL

SELECT nombre, apellido1, departamento FROM personas INNER JOIN departamentos WHERE personas.dep = departamentos.dep

nombreapellido1Departamento

ANTONIOPEREZADMINISTRACION

ANTONIOGARCIAINFORMATICA

PEDRORUIZINFORMATICA

5.6.2 LEFT JOIN

La sentenciaLEFT JOINcombina los valores de la primera tabla con los valores de la segunda tabla. Siempre devolver las filas de la primera tabla, incluso aunque no cumplan la condicin.

SELECT * FROM tabla1LEFT JOIN tabla2WHERE tabla1.columna1 = tabla2.columna1

Ejemplo de SQL LEFT JOIN

Tabla personas, con la clave primaria "per "

pernombreapellido1apellido2Dep

1ANTONIOPEREZGOMEZ1

2ANTONIOGARCIARODRIGUEZ2

3PEDRORUIZGONZALEZ4

Tabla "departamentos", con la clave primaria "dep"

depDepartamento

1ADMINISTRACION

2INFORMATICA

3COMERCIAL

SELECT nombre, apellido1, departamentoFROM personasLEFT JOIN departamentosWHERE personas.dep = departamentos.dep

Nombreapellido1Departamento

ANTONIOPEREZADMINISTRACION

ANTONIOGARCIAINFORMATICA

PEDRORUIZ

Aunque el departamento '4' de PEDRO RUIZ no existe en la tabla de departamentos, devolver la fila con esa columna 'departamento' en blanco.

5.6.3 RIGHT JOIN

La sentenciaRIGHT JOINcombina los valores de la primera tabla con los valores de la segunda tabla. Siempre devolver las filas de la segunda tabla, incluso aunque no cumplan la condicin.

En algunas bases de datos, la sentencia RIGHT JOIN es igual a RIGHT OUTER JOIN

SELECT * FROM tabla1 RIGHT JOIN tabla2 WHERE tabla1.columna1 = tabla2.columna1

EJEMPLO SQL RIGHT JOIN

perNombreapellido1apellido2Dep

1ANTONIOPEREZGOMEZ1

2ANTONIOGARCIARODRIGUEZ2

3PEDRORUIZGONZALEZ4

Tabla "departamentos", con la clave primaria "dep"

DepDepartamento

1ADMINISTRACION

2INFORMATICA

3COMERCIAL

SELECT nombre, apellido1, departamentoFROM personasRIGHT JOIN departamentosWHERE personas.dep = departamentos.dep

Nombreapellido1Departamento

ANTONIOPEREZADMINISTRACION

ANTONIOGARCIAINFORMATICA

COMERCIAL

Aunque no exista ninguna persona del departamento 'COMERCIAL' (3), esta fila aparecer con las otras columnas en blanco5.7 Funciones de Agregacin

5.7.1 Funcin AVG()

Esta funcinretorna el valor promedio de una columna numrica.

En SQL la sintaxis es de la siguiente manera:

SELECT AVG(nombre_columna)FROM nombre_tablaEJEMPLO SQL AVG()

Tenemos la tabla PRODUCTO y se desea calcular el precio promedio de la columna precio.descripcinprecio

Computadora800

Teclado30

Impresora150

SELECT AVG(precio)FROM PRODUCTO

Promedio

326

5.7.2 Funcin COUNT()

La funcinCOUNT()retorna el nmero de filas segn los criterios que especificaron.

En SQL la sintaxis que se utiliza para realizar la consulta es:

SELECT COUNT(nombre_columna)FROM nombre_tabla

SELECT COUNT(*)FROM nombre_tabla

COUNT(nombre_columna)retorna el nmero de valores que se encuentran en la columna especificada. Los valores NULL no se cuentan.

EJEMPLO SQL COUNT()

Tenemos la tabla PRODUCTO descripcinprecio

Computadora800

Teclado30

Impresora150

SELECT COUNT(*)FROM PRODUCTO

Num_filas

3

5.7.3 Funcin MAX()

La funcinMAX()retorna el mximo valor de la columna seleccionada.

En SQL la sintaxis utilizada es de la siguiente manera:

SELECT MAX(nombre_columna)FROM nombre_tabla

EJEMPLO SQL MAX()

Tenemos la tabla PRODUCTO descripcinprecio

Computadora800

Teclado30

Impresora150

SELECT MAX(*)as Precio_mayorFROM PRODUCTO

La funcin as es solo una etiqueta de salida de nuestro resultado.

Precio_mayor

800

5.7.4 Funcin MIN()

La funcinMIN()retorna el mnimo valor de la columna seleccionada.

En SQL la sintaxis utilizada es de la siguiente manera:

SELECT MIN(nombre_columna)FROM nombre_tabla

EJEMPLO SQL MIN()

Tenemos la tabla PRODUCTO descripcinprecio

Computadora800

Teclado30

Impresora150

SELECT MIN(*)asPrecio_menorFROM PRODUCTO

La funcin as es solo una etiqueta de salida de nuestro resultado.

Precio_menor

800

5.7.5 Funcin SUM()

La funcinSUM()retorna la suma total de una columna numrica.

En SQL la sintaxis utilizada es de la siguiente manera:

SELECT SUM(nombre_columna)FROM nombre_tabla

EJEMPLO SQL SUM()

Tenemos la tabla PRODUCTO descripcinprecio

Computadora800

Teclado30

Impresora150

SELECT SUM(*)asPrecio_totalFROM PRODUCTO

La funcin as es solo una etiqueta de salida de nuestro resultado.

Precio_total

980

5.7.6 Tabla Resumida con Funciones de agregacin

FuncinCometidoEjemplo

COUNT(col)Cuenta el nmero de filas agrupadas. select count(nombre),oficio from emp group by oficio;

AVG(col)Calcula el valor medio de todos los valores de la columna col. select avg(salario),oficio from emp group by oficio;

MAX(col)Calcula el valor mximo de todos los valores de la columna col. select max(salario),oficio from emp group by oficio;

MIN(col)Calcula el valor mnimo de todos los valores de la columna col. select min(salario),oficio from emp group by oficio;

SUM(col)Calcula la suma de los valores de la columna col. select sum(salario), oficio from emp group by oficio;

STDDEV(col)Calcula la desviacin tpica de los valores de la columna col sin tener en cuenta los valores nulos. select stddev(salario), oficio from emp group by oficio;

VARIANCE(col)Calcula la varianza de los valores de la columna col sin tener en cuenta los valores nulos. select variance(salario), oficio from emp group by oficio;

5.7.7 Tabla Resumida con Funciones Aritmticas

FuncinCometidoEjemploResultado

ABS(n)Calcula el valor absoluto de n. select abs(-15) from dual; 15

CEIL(n)Calcula el valor entero inmediatamente superior o igual a n. select ceil(15.7) from dual; 16

FLOOR(n)Calcula el valor entero inmediatamente inferior o igual a n. select floor(15.7) from dual; 15

MOD(m,n)Calcula el resto resultante de dividir m entre n. select mod(11,4) from dual; 3

POWER(m,n)Calcula la potencia n-esima de m. select power(3,2) from dual; 9

ROUND(m,n)Calcula el redondeo de m a n decimales. Si n