Sentencias SQL cont
SELECT
●
SELECT: se utiliza para seleccionar datos de
una base de datos.
– SELECT column1, column2, … FROM table_name;
– SELECT * FROM Customers;
El símbolo asterisco (*) se utiliza para devolver
todas las columnas, sin especificar cada nombre.
SELECT DISTINCT
●
SELECT DISTINCT: se utiliza para devolver
sólo valores diferentes.
– SELECT DISTINCT column1, column2, … FROM
table_name;
– SELECT COUNT(DISTINCT Country) FROM
Customers;
* Utilizar DISTINCT en la función COUNT() nos
devuelve la cantidad de valores distintos.
Claúsula WHERE
●
WHERE: se utiliza para filtrar registros, traer los
registros que cumplen con la condición.
– SELECT column1, column2, … FROM table_name
WHERE condition;
* Esta cláusula se utiliza también con las sentencias
UPDATE y DELETE. En la condición se utilizan los
operadores de comparación (=, >, <, >=, <=, <>) y
BETWEEN, LIKE, IN.
Cláusula WHERE cont.
●
BETWEEN: para establecer un rango posible
– ...WHERE column_name BETWEEN value1 AND
value2
●
LIKE: para buscar por un patrón o parecido
– WHERE column_name LIKE pattern
●
IN: para especificar múltiples posibles valores
– WHERE column_name IN (value1,value2,..)
Operadores AND, OR, NOT
●
La cláusula WHERE puede contener una o varias
condiciones combinadas por todos los operadores
más AND, OR, NOT.
– SELECT * FROM Customers WHERE Country = 'Germany'
AND City = 'Berlin' AND PostalCode > 12000;
– SELECT * FROM Customers WHERE Country = 'Spain'
AND (CustomerName LIKE 'G%' OR CustomerName LIKE
'R%');
– SELECT * FROM Customers WHERE CustomerName
NOT LIKE 'A%';
Palabra clave ORDER BY
●
ORDER BY: se utiliza para ordenar el conjunto
de resultados.
– SELECT column1, column2, … FROM table_name
ORDER BY column1, column2, ... ASC|DESC;
* Por defecto el orden es ascendente, si se quiere
descendente debe especificarse.
– SELECT * FROM Customers ORDER BY Country,
CustomerName;
INSERT INTO
●
INSERT INTO: se utiliza para insertar nuevos registros
en una tabla.
– INSERT INTO table_name (column1, column2, column3, …)
VALUES (value1, value2, value3, ...);
– INSERT INTO table_name (column1, column2, …) VALUES
(value1, value2, …), (value1, value2, ...);
* Varios registros separar conjunto de valores con coma
– INSERT INTO table_name VALUES (value1, value2,
value3, ...);
* Todas las columnas no hace falta nombrarlas
Operador IS NULL / IS NOT NULL
●
NULL: es un valor de un campo sin valor, no es
cero ni blanco. Cuando un campo es opcional
(no obligatorio) puede dejarse con valor NULL.
●
No se puede comparar el valor NULL, se deben
utilizar los operadores:
– SELECT column_names FROM table_name
WHERE column_name IS NULL / IS NOT NULL;
UPDATE
●
UPDATE: se utiliza para modificar los registros
en un tabla.
– UPDATE table_name SET column1 = value1,
column2 = value2, … WHERE condition;
* No olvidarse la condición WHERE sino se
modificarán todos los registros. Esta condición
establece que registros se modificarán.
DELETE
●
DELETE: se utiliza para eliminar registros de
una tabla.
– DELETE FROM table_name WHERE condition;
* No olvidarse la condición WHERE sino se
eliminarán todos los registros. Esta condición
establece que registros se eliminarán.
TOP / LIMIT / FETCH FIRST / ROWNUM
●
Se utilizan para especificar la cantidad de
registros a devolver. Es útil en tablas grandes
con muchos registros.
– SELECT TOP number [percent] column_name(s)
FROM table_name WHERE condition;
– ...WHERE condition LIMIT number;
– … condition FETCH FIRST number ROWS ONLY;
– ...WHERE ROWNUM <= number;
Funciones MIN() / MAX()
●
MIN / MAX: devuelven el valor mínimo /
máximo de la columna seleccionada.
– SELECT MIN/MAX(column_name) FROM
table_name WHERE condition;
– SELECT MIN(Price) AS SmallestPrice FROM
Products;
* Se puede cambiar el nombre de la columna en el
resultado mostrado utilizando AS.
Función COUNT()
●
COUNT: devuelve el número de filas que
coinciden con el criterio especificado.
– SELECT COUNT(column_name) FROM table_name
WHERE condition;
– SELECT COUNT(DISTINCT Price) FROM Products;
* Para ignorar los valores duplicados utilizamos la
palabra clave DISTINCT, los valores iguales se
cuentan sólo una vez.
Funciones SUM() / AVG()
●
SUM: devuelve la suma total de una columna
numérica.
– SELECT SUM(column_name) FROM table_name
WHERE condition;
●
AVG: devuelve el valor promedio de una
columna numérica.
– SELECT AVG(column_name) FROM table_name
WHERE condition;
Comodines para el operador LIKE
●
… WHERE columnN LIKE pattern;
●
%: representa cero, uno o varios caracteres.
– '%es': termina con es, cualquier cosa delante.
– 'a%' : empieza con a, cualquier cosa detrás.
– '%L%': contiene L en algún lugar.
– 'b%s': empieza con b y termina con s.
Comodines cont.
●
_: representa un solo carácter.
– 'L_nd_n': un solo carácter en esas posiciones.
– '_r%': combinado con %.
●
[ ]: cualquier único caracter especificado.
– '[bsp]%': si algún carácter coincide en el comienzo.
●
- : para especificar un rango de caracteres.
– '[a-f]%': si comienza con a,b,c,d,e, o f (rango a-f).