Está en la página 1de 7

SELECT - SQL

SELECT [ALL | DISTINCT ]


<nombre_campo> [{,<nombre_campo>}]
FROM <nombre_tabla>|<nombre_vista>
[{,<nombre_tabla>|<nombre_vista>}]
[WHERE <condicion> [{ AND|OR <condicion>}]]
[GROUP BY <nombre_campo> [{,<nombre_campo >}]]
[HAVING <condicion>[{ AND|OR <condicion>}]]
[ORDER BY <nombre_campo>|<indice_campo>[ASC | DESC]
[{,<nombre_campo>|<indice_campo> [ASC | DESC ]}]]

Significado
SELECT Palabra clave que indica que la sentencia de SQL que queremos ejecutar es de selección.

SELECT [ALL|DISTINCT] {expresión1, expresión2, ..., expresiónn | * }

ALL Indica que queremos seleccionar todos los valores. Es el valor por defecto y no suele especificarse casi nunca.

DISTINCT Indica que queremos seleccionar sólo los valores distintos.

FROM Indica la tabla (o tablas) desde la que queremos recuperar los datos. En el caso de que exista más de una tabla
se denomina a la consulta "consulta combinada" o "join". En las consultas combinadas es necesario aplicar una
condición de combinación a través de una cláusula WHERE.

FROM {tabla1 [, tabla2 , ...., tablan ] }

WHERE Especifica una condición que debe cumplirse para que los datos sean devueltos por la consulta. Admite los
operadores lógicos AND y OR.

[WHERE condición_de_búsqueda ]
GROUP BY Especifica la agrupación que se da a los datos. Se usa siempre en combinación con funciones agregadas.

[ GROUP BY expresión [, expresión ...]]


HAVING Especifica una condición que debe cumplirse para los datos. Especifica una condición que debe cumplirse para
que los datos sean devueltos por la consulta. Su funcionamiento es similar al de WHERE pero aplicado al
conjunto de resultados devueltos por la consulta. Debe aplicarse siempre junto a GROUP BY y la condición
debe estar referida a los campos contenidos en ella.

[ HAVING condición_de_búsqueda]
ORDER BY Presenta el resultado ordenado por las columnas indicadas. El orden puede expresarse con ASC (orden
ascendente) y DESC (orden descendente). El valor predeterminado es ASC.

[ ORDER BY { expresión | posición_de_columna } [DESC|ASC] [, { expresión | posición_de_columna }


[DESC |ASC] ] ...]

FUNCIONES
Función Proposito
ABS(n) Devuelve el valor absoluto de 'n'. El valor absoluto es siempre numero positivo.

1
CEIL(n) Obtiene el valor entero inmediatamente superior o igual a 'n'.
FLOOR(n) Es lo opuesto a CEIL,devuelve el valor entero inmediatamente inferior o igual a 'n'
MOD(m, n) Devuelve el resto resultante de dividir 'm' entre 'n'.
NVL(valor, expresión) Esta función se utiliza para sustituir un valor nulo por otro valor. Si 'valor' es NULL, es sustituido
por la 'expresión'; si no lo es, la función devuelve 'valor'. NVL se puede usar con cualquier tipo de
datos: numéricos, carácter, tipo fecha, pero 'valor' y 'expresión' deben ser del mismo tipo, aunque
admiten tipos diferentes.
POWER(m, exponente) Calcula la potencia de un número. Devuelve el valor de 'm' elevado a un 'exponente'.
ROUND(número [,m]) Devuelve el valor de 'número' redondeado a 'm' decimales. Si 'm' es negativo, el redondeo de dígitos
se lleva a cabo a la izquierda del punto decimal. Si se omite 'm', devuelve 'número' con 0 decimales
y redondeado.
SIGN(valor) Esta función indica el signo del 'valor'. Si 'valor' es menor que 0, la función devuelve _1; y si 'valor'
es mayor que 0, la función devuelve 1.
SQRT(n) Devuelve la raíz cuadrada de 'n', El valor de 'n' no puede ser negativo.
TRUNC(número, [m]) Trunca los números para que tengan un cierto número de dígitos de precisión. Devuelve 'número'
truncado a 'm' decimales; 'm' puede ser negativo: si lo es, trunca por la izquierda del punto decimal.
Si se omite 'm' devuelve 'número' con 0 decimales.

AVG(n) Calcula el valor medio de 'n' ignorando los valores nulos.


COUNT (* | expresión) Cuenta el número de veces que la expresión evalúa algún dato con valor no nulo. La opción '*'
cuenta todas las filas seleccionadas.
MAX(expresión) Calcula el máximo valor de la 'expresión'.
MIN(expresión) Calcula el mínimo valor de la 'expresión'.
SUM(expresión) Obtiene la suma de valores de la 'expresión' distintos de nulos.
VARIANCE (expresión Obtiene la varianza de los valores de 'expresión' distintos de nulos.

CHR (n) Devuelve el carácter cuyo valor en binario es equivalente a 'n'.

CONCAT (cad1, cad2) Devuelve 'cad1' concatenada con 'cad2'. Es equivalente al operador ||.
LOWER (cad) Devuelve la cadena 'cad' con todas sus letras convertidas a minúsculas.
UPPER (cad) Devuelve la cadena 'cad' con todas sus letras convertidas a mayúsculas.
INITCAP (cad) Convierte la cadena 'cad' a tipo título, la primera letra de cada palabra de 'cad' a mayúsculas y el
resto, a minúsculas.
LPAD (cad1, n [, cad2]) Esta función añade caracteres a la izquierda de 'cad1' hasta que alcance una cierta longitud 'n'.
Devuelve 'cad1' con longitud 'n' y ajustado a la derecha; 'cad2' es la cadena con la que se rellena por
la izquierda; cad1 puede ser una columna de una tabla o cualquier literal. Si 'cad2' se suprime,
asume como carácter de relleno el blanco.
RPAD (cad1, n [, cad2]) Añade caracteres a la derecha de 'cad1' hasta que alcance una cierta longitud 'n'. Devuelve 'cad1'
con longitud 'n' y ajustado a la izquierda; 'cad2' es la cadena con la que se rellena por la derecha;
'cad1' puede ser una columna de una tabla o cualquier literal. Si 'cad2' se suprime, asume como
carácter de relleno el blanco.
LTRIM (cad [, set]) Suprime un conjunto de caracteres a la izquierda de la cadena 'cad'; 'set' es el conjunto de caracteres
a suprimir. Devuelve 'cad' con el grupo de caracteres 'set' omitidos por la izquierda. Si el segundo
parámetro se omite, devuelve la misma cadena. Por defecto, si la cadena contiene blancos a la
izquierda y se omite el segundo parámetro, la función devuelve la cadena sin blancos a la izquierda.
RTRIM (cad [, set]) Suprime un conjunto de caracteres a la derecha de la cadena 'cad'. Devuelve 'cad' con el grupo de
caracteres 'set' omitidos por la derecha. Si se omite 'set', devuelve 'cad' tal como está. Por defecto, si
la cadena contiene blancos a la derecha y se omite el segundo parámetro, la función devuelve la
cadena sin blancos a la derecha.
REPLACE (cad, cadena_bús- Sustituye un carácter o varios caracteres de una cadena con 0 o más caracteres. Devuelve 'cad' con
queda [,cadena_sustitución]) cada ocurrencia de 'cadena_búsqueda' sustituida por 'cadena_sustitución'.
SUBSTR (cad, m [,n]) Obtiene parte de una cadena. Devuelve la subcadena de 'cad', que abarca desde la posición indicada
en 'm' hasta tantos caracteres como indique el número 'n'. Si se omite 'n', devuelve la cadena desde

2
la posición especificada por 'm'. El valor de 'n' no puede ser inferior a 1. El valor de 'm' puede ser
negativo; en ese caso, devuelve la cadena empezando por su final, y avanzando de derecha a
izquierda.
TRANSLATE Convierte caracteres de una cadena en caracteres diferentes, según un plan de sustitución marcado
(cad1, cad2, cad3) por el usuario. Devuelve 'cad1' con los caracteres encontrados en 'cad2' y sustituidos por los
caracteres de 'cad3'. Cualquier carácter que no esté en la cadena 'cad2' permanece como estaba

ASCII(cad) Devuelve el valor ASCII de la primera letra de la cadena 'cad'.


INSTR(cad1,cad2 [,comienzo Esta función busca un conjunto de caracteres en una cadena. Devuelve la posición de la 'm_ésima'
[,m] ]) ocurrencia de 'cad2' en 'cad1', empezando la búsqueda en la posición 'comienzo'. Por omisión,
empieza buscando en la posición 1.
LENGTH(cad) Devuelve el número de caracteres de 'cad'.

SYSDATE Devuelve la fecha del sistema.


ADD_MONTHS(fecha, n) Devuelve la fecha 'fecha' incrementada en 'n' meses.
LAST_DAY(fecha) Devuelve la fecha del último día del mes que contiene 'fecha'.
MONTHS_BETWEEN Devuelve la diferencia en meses entre las fechas 'fecha1' y 'fecha2'.
(fecha1, fecha2)
NEXT_DAY(fecha, cad) Devuelve la fecha del primer día de la semana indicado por 'cad' después de la fecha indicada por
'fecha'. El día de la semana en 'cad' se indica con su nombre, es decir, lunes (monday), martes
(tuesday), miércoles (wednesday), jueves (thursday), viernes (friday), sábado (saturday) o domingo
(sunday)

TO_CHAR Convierte una fecha (de tipo DATE) a tipo VARCHAR2 en el formato especificado. El formato
(fecha, ‘formato’) es un cadena de caracteres que puede incluir las máscaras de formato definidas en la Tabla de
control de formato de fechas (Tabla 4.8), y donde es posible incluir literales definidos por el usuario
encerrados entre comillas dobles.
TO_CHAR Esta función convierte un 'número' (de tipo NUMBER) a tipo VARCHAR2 en el 'formato'
(numero, ‘formato’) especificado. Los formatos numéricos se muestran en la Tabla 4.9.
TO_DATE Convierte 'cad', de tipo VARCHAR2 o CHAR, a un valor de tipo DATE según el 'formato'
(cad, ‘formato’) especificado.
TO_NUMBER Convierte la 'cadena' a tipo NUMBER según el 'formato' especificado. La cadena ha de contener
(cadena [,’formato’]) números, el carácter decimal o el signo menos a la izquierda. No puede haber espacios entre los
números, ni otros caracteres.

Mascaras de formato numéricos


cc o scc Valor del siglo
y, yyy ó sy,yyy Año con coma, con o sin signo
yyyy Año sin signo
yyy Últimos tres dígitos del año
yy Últimos dos dígitos del año
y Último dígito del año
q Número del trimestre
ww Número de semana del año
w Número de semana del mes
mm Número de mes
ddd Número de día del año
dd Número de día del mes

3
d Número de día de la semana
hh ó hh12 Hora (1-12)
hh24 Hora (1-24)
mi Minutos
ss Segundos
sssss Segundos transcurridos desde medianoche
j Juliano
Mascaras de formato de caracteres
syear ó year Año en inglés (ej: nineteen-eighty-two)
month Nombre del mes (ENERO)
mon Abreviatura de tres letras del nombre del mes (ENE)
day Nombre del día de la semana (LUNES)
dy Abreviatura de tres letras del nombre del día (LUN)
a.m. o p.m. Muestra a.m. ó p.m. dependiendo del momento del día

b.c. o a.d. Indicador para el año (antes de Cristo o después de Cristo)

Insert, update, delete


INSERT Inserción de una fila:
INSERT INTO NombreTabla [(columna [, columna] ...)]
VALUES (valor [, valor] ...);

Inserción multifila:
INSERT INTO NombreTabla1 [(columna [, columna] ...)]
SELECT {columna [, columna] ... | *}
FROM NombreTabla2 [CLÁUSULAS DE SELECT];
UPDATE Modificación de filas:
UPDATE <NombreTabla>
SET columna1 = valor1, ...., columnan = valorn
WHERE condición;

Modificación de filas con SELECT:


UPDATE <NombreTabla>
SET columna1 = valor1, columna2 = valor2, ...
WHERE columna3=( SELECT ....);
UPDATE <NombreTabla>
SET ( columna1, columna2, … ) = ( SELECT col1, col2, …)
WHERE condición;
UPDATE <NombreTabla>
SET columna1 = ( SELECT col1 ... ), columna2 = ( SELECT col2 …)
WHERE condición;
DELETE Borrado de filas:
DELETE [FROM] NombreTabla WHERE condición;
TRANSACCIONES Validar los cambios:

COMMIT;

Abortar transacciones:

4
ROLLBACK;

Definicion de datos
CREATE TABLE Nombretabla
(
Columna1 Tipo_dato [NOT NULL],
Columna2 Tipo_dato [NOT NULL],
................
)

Restricciones en CREATE TABLE

CREATE TABLE nombre_tabla


(
Columna1 TIPO_DE_DATO
[ CONSTRAINT nombrerestricción]
[NOT NULL] [UNIQUE] [PRIMARY KEY] [DEFAULT valor]
[REFERENCES Nombretabla [(columna [, columna])]
[ON DELETE CASCADE]]
[CHECK (condición)],
Columna2 TIPO_DE_DATO
[ CONSTRAINT nombrerestricción]
[NOT NULL] [UNIQUE] [PRIMARY KEY] [DEFAULT valor]
[REFERENCES Nombretabla [(columna [, columna])]
[ON DELETE CASCADE]]
[CHECK (condición)],
...
)

VISTAS DEL DICCIONARIO DE DATOS


Información de tablas y otros objetos USER_TABLES, USER_OBJECTS, USER_CATALOG
Información de restricciones USER_CONSTRAINTS, ALL_CONSTRAINTS, DBA_CONSTRAINTS
USER_CONS_COLUMNS, ALL_CONS_COLUMNS, DBA_CONS_COLUMNS
Información sobre vistas USER_VIEWS, ALL_VIEWS
Información sobre sinónimos USER_SYNONYMS, ALL_SYNONYMS

Se puede modificar una tabla mediante la orden ALTER TABLE. La modificación de tablas nos permitirá: añadir, modificar o
eliminar columnas de una tabla existente, añadir o eliminar restricciones y activar o desactivar restricciones.

ALTER TABLE nombretabla

{[ADD (columna)

[MODIFY (columna [,columna] ...) ]

[DROP COLUMN (columna [,columna] ...) ]

[ADD CONSTRAINT restricción]

5
[DROP CONSTRAINT restricción]

[DISABLE CONSTRAINT restricción]

[ENABLE CONSTRAINT restricción]};

Creación y uso de vistas


CREATE [OR REPLACE] [FORCE|NOFORCE] VlEW Nombrevísta [(columna [,columna])]
AS consulta
[ WITH {CHECK OPTION | READ ONLY} CONSTRAINT nombrerestricción];
donde:

• Nombrevista es el nombre que damos a la vista.

• FORCE crea la vista aunque los datos de la consulta SELECT no existan.

• [(columna [,columna])] son los nombres de columnas que va a contener la vista. Si no se ponen, se asumen los nombres de
columna devueltos por la consulta.

• AS consulta determina las columnas y las tablas que aparecerán en la vista.

• [OR REPLACE] crea de nuevo la vista si ya existía.

• [ WITH CHECK OPTION ] es la opción de comprobación para una vista. Si se especifica, SQL comprueba
automáticamente cada operación INSERT y UPDATE, sobre la vista, para asegurarse que las filas resultantes satisfagan el
criterio de búsqueda de la definición de la vista. Si la fila insertada o modificada no satisface la condición de creación de la
vista, la sentencia INSERT o UPDATE falla y no se realiza la operación.

• [ WITH READ ONLY ] especifica que sólo se puede hacer SELECT de las filas de la vista.

• [ CONSTRAINT nombrerestricción] especifica el nombre de la restricción WITH CHECK OPTION o WITH READ
ONLY. Es opcional.

Borrado de vistas
DROP VIEW nombrevista cascade constraint;

Creación de sinónimos y usos de sinonimos


CREATE [PUBLIC] SYNONYM nombresinónimo FOR [usuario. ] Nornbretabla;

Borrado de sinónimos
DROP [PUBLIC] SYNONYM [usuario.] sinónimo;

Cambios de nombre
RENANE nombreanterior TO nombrenuevo;

VISTAS DEL DICCIONARIO DE DATOS:


Información de tablas y otros objetos:

USER_TABLES, USER_OBJECTS, USER_CATALOG

6
Información de restricciones :

USER_CONSTRAINTS, ALL_CONSTRAINTS, DBA_CONSTRAINTS,


USER_CONS_COLUMNS, ALL_CONS_
COLUMNS, DBA_CONS_COLUMNS

Información sobre vistas:

USER_VIEWS, ALL_VIEWS

Información sobre sinónimos:

USER_SYNONYMS, ALL_SYNONYMS

Información sobre índices:

USER_INDEXES. Muestra la lista de índices.


USER_IND_COLUMNS. Muestra la lista de columnas que son utilizadas por índices.

También podría gustarte