Cuadro de sentencias con descripcion y ejemplo

4
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)

description

En éste documento encuentra ejemplos de sentencias y su función.

Transcript of Cuadro de sentencias con descripcion y ejemplo

Page 1: Cuadro de sentencias con descripcion y ejemplo

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)

Page 2: Cuadro de sentencias con descripcion y ejemplo

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

Page 3: Cuadro de sentencias con descripcion y ejemplo

< 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

Page 4: Cuadro de sentencias con descripcion y ejemplo

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