Algunas de las sentencias SQL más utilizadas: SELECT, INSET, UPDATE, DELETE, ALTER, CRETA. Con ejemplos de uso en SQL de Oracle.

SENTENCIADESCRIPCIÓNEJEMPLO
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 WHEREUPDATE supplier
SET supplier_name =
(SELECT customer.name
FROM customers
WHERE customers.customer_id = supplier.supplier_id)
SELECT campo1, campo2, … FROM nombretabla WHERE condiciónConsulta 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 existenteALTER TABLE tabla_prueba
ADD
(
campo_nuevo varchar2(9),
campo_nuevo2 varchar2(200)
)

Sólo para Oracle

SENTENCIADESCRIPCIÓNEJEMPLO

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
Andy
Oro
Notno
LikeSelecciona los registros cuyo valor de campo se asemeje, no teniendo en cuenta mayúsculas y minúsculas.
InDe un conjunto de valores para un campo para los cuales la condición de selección es válida
Not inDe un conjunto de valores para un campo para los cuales la condición de selección es no válida
Is nullSelecciona los registros que tengan el campo especificado a nulo
Is not nullSelecciona los registros que tengan el campo especificado distinto de nulo
BetweenSelecciona 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