|
SQL: Manual SQL con ejemplos de sentencias SQL Oracle
Manual que explica el uso de las sentencias SQL más habituales (SELECT, INSET, UPDATE, ...) con ejemplos de SQL de Oracle.
MINIMANUAL SQL
SENTENCIA |
DESCRIPCIÓN |
EJEMPLO |
INSERT INTO nombretabla (campo1, campo2, ...) VALUES (campo1, campo2, ...)
|
Inserta un registro en una tabla |
INSERT INTO recibidos (id, descripcion) VALUES ('1', 'Registro de prueba) |
DELETE FROM nombretabla WHERE condición
|
Elimina los registros de la tabla que cumplan la condición especificada (si no se especifica condición se eliminarán todos los registros de la tabla) |
DELETE FROM recibidos WHERE id='1' |
UPDATE nombretabla SET campo1 = valor1, campo2 =
valor2, ...WHERE condición |
Actualiza los registros que cumplan la condición especificada con los nuevos valores (si no se especifica condición se actualizarán todos los registros de la tabla) |
UPDATE recibidos SET id = '2', descripcion = 'Descripción actualizada' WHERE id='1' |
UPDATE nombre_tabla
SET campo1 =
(SELECT nt2.campo1
FROM nombre_tabla2 nt2
WHERE nombre_tabla2.codigonombretabla = nombre_tabla.codigo) |
Update más avanzado, actualiza el campo campo1 de todos los registros de la nombre_tabla, con el valor del campo1 de la tabla nombre_tabla2 que cumplen la condición especificada en el WHERE |
UPDATE supplier
SET supplier_name =
(SELECT customer.name
FROM customers
WHERE customers.customer_id = supplier.supplier_id) |
SELECT campo1, campo2, ... FROM nombretabla WHERE condición |
Consulta que muestra los campos especificados de los registros que cumplan la condición especificada (si no se especifica condición mostrará todos los registros) |
SELECT descripcion FROM recibidos WHERE UPPER(descripcion) LIKE '%ACTUALI%' |
CREATE TABLE nombretabla (
campo1 tipodatos1,
campo2 tipodatos2,
...
) |
Crea una tabla con los campos especificados |
CREATE TABLE recibidos (
id VARCHAR(2) NOT NULL,
descripcion VARCHAR(100)
) |
ALTER TABLE tabla_prueba
ADD
(
campo_nuevo TIPO_DATOS,
campo_nuevo2 TIPO_DATOS
) |
Añade campos (columnas) nuevos a una tabla existente |
ALTER TABLE tabla_prueba
ADD
(
campo_nuevo varchar2(9),
campo_nuevo2 varchar2(200)
) |
Sólo para Oracle
SENTENCIA |
DESCRIPCIÓN |
EJEMPLO |
CREATE USER "NOMBRE_USUARIO" PROFILE "DEFAULT"
IDENTIFIED BY "CONTRASEÑA_USUARIO" DEFAULT TABLESPACE "TABLESPACE_DEFECTO"
ACCOUNT UNLOCK;
GRANT "CONNECT" TO "NOMBRE_USUARIO" |
Sentencia SQL para crear un usuario en Oracle, creará el usuario "nombre_usuario", con la contraseña "contraseña_usuario", le asignará el tablespace "tablespace_defecto", le asignará el permiso "connect" |
CREATE USER "usuarioprueba" PROFILE "DEFAULT"
IDENTIFIED BY "contraseña" DEFAULT TABLESPACE "USERS"
ACCOUNT UNLOCK;
GRANT "CONNECT" TO "usuarioprueba" |
Según el motor de base de datos utilizado los símbolos separadores de cadenas, fechas, ... pueden variar.
Para las condiciones que se colocan en el WHERE existen los siguientes operadores:
OPERADOR |
DESCRIPCIÓN
|
> |
Mayor que |
< |
Menor que |
>= |
Mayor o igual que |
<= |
Menor o igual que |
<> |
Distinto |
= |
Igual |
And |
y |
Or |
o |
Not |
no |
Like |
Selecciona los registros cuyo valor de campo se asemeje, no teniendo en cuenta mayúsculas y minúsculas. |
In |
De un conjunto de valores para un campo para los cuales la condición de selección es válida |
Not in |
De un conjunto de valores para un campo para los cuales la condición de selección es no válida |
Is null |
Selecciona los registros que tengan el campo especificado a nulo |
Is not null |
Selecciona los registros que tengan el campo especificado distinto de nulo |
Between |
Selecciona los registros comprendidos en el intervalo especificado |
|| |
Concatenar cadenas de caracteres (válido para Oracle) |
COMODÍN |
DESCRIPCIÓN |
* |
Sustituye a todos los campos |
% |
Sustituye a cualquier cosa o nada dentro de una cadena |
_ |
Sustituye un solo carácter dentro de una cadena |
Ejemplos de consultas SQL (utilizando como motor de base de datos Oracle):
SENTENCIA SQL |
DESCRIPCIÓN |
SELECT last_name, job_id, salary AS Salario
FROM employees |
Muestra todos los registros de la tabla "employees", mostrará los campos especificados y el campo "salary" lo renombra (con un alias) a "Salario " |
SELECT *
FROM employees |
Muestra todos los registros y todos los campos de la tabla "employees" |
SELECT last_name, salary * 12 AS "Salario Anual"
FROM employees |
Muestra el campo "last_name" y el campo "Salario Anual" (que es el resultado de multiplicar el campo "salary" por 12) de la tabla employees |
SELECT first_name || ', ' || last_name "Nombre empleado"
FROM employees |
Concatena los campos "first_name" y "last_name" y los muestra en un solo campo llamado "Nombre empleado", también añade una "," entre los campos |
SELECT last_name
FROM employees
WHERE employee_id > 176 |
Muestra el campo "last_name" de la tabla "employees" cuyo "employee_id" es mayor que 176 |
SELECT last_name, salary
FROM employees
WHERE salary NOT BETWEEN 5000 AND 12000 |
Muestra los campos "last_name" y "salary" de aquellos empleados cuyo salario no esté entre 5000 y 12000 |
SELECT last_name
FROM employees
WHERE department_id IN (20, 50)
ORDER BY last_name |
Muestra el campo "last_name" de aquellos registros de la tabla "employees" cuyo "department_id" sea 20 ó 50 |
SELECT employee_id
FROM employees
WHERE salary > (
SELECT AVG (salary)
FROM employees) |
Muestra los empleados cuyo salario sea superior a la media |
SELECT last_name, job_id
FROM employees
WHERE department_id IN (
SELECT department_id
FROM departments
WHERE UPPER(department_name) LIKE '%K%') |
Muestra los empleados que pertenezcan a un departamento que contenga la letra "K" en el nombre |
Nota: Actualizado por AjpdSoft el 17-10-2006.
Anuncios
Enviado el Miércoles, 20 julio a las 15:41:10 por ajpdsoft
|