CONSULTAS AVANZADAS MODIFICAR SEGUNDO PARCIAL
CONSULTAS CON CLAUSULAS (FROM, WHERE, GRUOP BY, HAVING, ORDER BY )
WHERE
La cláusula WHERE se utiliza para hacer filtros en las consultas, es decir, seleccionar solamente algunas filas de la tabla que cumplan una determinada condición.
El valor de la condición debe ir entre comillas simples ''.
Por ejemplo:
Seleccionar las personas cuyo nombre sea ANTONIOSELECT * FROM personas
WHERE nombre = 'ANTONIO'
nombre
apellido1
apellido2
ANTONIO
PEREZ
GOMEZ
ANTONIO
GARCIA
BENITO
ORDER BY
ORDER BY se utiliza para ordenar los resultados de una consulta, según el valor de la columna especificada.
Por defecto, se ordena de forma ascendente (ASC) según los valores de la columna.
Si se quiere ordenar por orden descendente se utiliza la palabra DES
SELECTnombre_columna(s)
FROM nombre_tabla
ORDER BY nombre_columna(s) ASC|DESC
Por ejemplo, en la tabla personas :
nombre
apellido1
apellido2
ANTONIO
PEREZ
GOMEZ
LUIS
LOPEZ
PEREZ
ANTONIO
GARCIA
BENITO
SELECT nombre, apellido1
FROM personas
ORDER BY apellido1 ASC
Esta es la consulta resultante:
nombre
apellido1
LUIS
LOPEZ
ANTONIO
GARCIA
ANTONIO
PEREZ
Ejemplo de ordenación descendiente (DES)
SELECT nombre,apellido1
FROM personas
ORDER BY apellido1 DESC
Esta es la consulta resultante:
nombre
apellido1
ANTONIO
PEREZ
ANTONIO
GARCIA
LUIS
LOPEZ
CONSULTAS CON OPERADORES LOGICOS Y DE COMPARACION (AND, OR, NOT, BETWEEN, LIKE , IN)
AND OR
Los operadores AND y OR se utilizan para filtrar resultados con 2 condiciones.
El operador AND mostrará los resultados cuando se cumplan las 2 condiciones.
Condición1AND condición2
El operador OR mostrará los resultados cuando se cumpla alguna de las 2 condiciones.
Condicion1 OR condicion2
En la tabla personas
nombre
apellido1
apellido2
ANTONIO
PEREZ
GOMEZ
ANTONIO
GARCIA
BENITO
LUIS
LOPEZ
PEREZ
La siguiente sentencia (ejemplo AND) dará el siguiente resultado:
SELECT * FROM personas
WHERE nombre = 'ANTONIO'
AND apellido1 = 'GARCIA'
nombre
apellido1apellido2
ANTONIO
GARCIA
BENITO
La siguiente sentencia (ejemplo OR) dará el siguiente resultado:
SELECT * FROM personas
WHERE nombre = 'ANTONIO'
OR apellido1 = 'GARCIA'
nombre
apellido1
apellido2
ANTONIO
PEREZ
GOMEZ
ANTONIO
GARCIA
BENITO
También se pueden combinar AND y OR, como el siguiente ejemplo:
SELECT * FROM personas
WHERE nombre = 'ANTONIO'
AND (apellido1 = 'GARCIA' OR apellido1 = 'LOPEZ)nombre
apellido1
apellido2
ANTONIO
GARCIA
BENITO
BETWEEN
El operador BETWEEN se utiliza en la cláusula WHERE para seleccionar valores entre un rango de datos.
Sintaxis de SQL BETWEEN
SELECT columna
FROM tabla WHERE columna
BETWEEN valor1 AND valor2
Ejemplo de SQL BETWEEN
Dada la siguiente tabla 'personas'
nombre
apellido1
apellido2
ANTONIO
PEREZ
GOMEZ
ANTONIO
GARCIA
RODRIGUEZ
PEDRO
RUIZ
GONZALEZSeleccionar personas cuyo apellido1 esté entre 'FERNANDEZ y 'HUERTAS'
SELECT *
FROM personas
WHERE apellido1
BETWEEN 'FERNANDEZ' AND 'HUERTAS'
nombre
apellido1
apellido2
ANTONIO
GARCIA
RODRIGUEZ
Seleccionar personas cuyo apellido1 no esté entre 'FERNANDEZ y 'HUERTAS'
SELECT *
FROM personas
WHERE apellido1
NOT BETWEEN 'FERNANDEZ' AND 'HUERTAS'
nombre
apellido1
apellido2
ANTONIO
PEREZ
GOMEZPEDRO
RUIZ
GONZALEZ
IN
El operador IN permite seleccionar múltiples valores en una cláusula WHERE
Sintaxis SQL IN
SELECT columna
FROM tabla
WHERE columna
IN (valor1, valor2, valor3, .)
Ejemplo SQL IN
Dada la siguiente tabla 'personas'
nombre
apellido1
apellido2
ANTONIO
PEREZ
GOMEZ
ANTONIO
GARCIA
RODRIGUEZ
PEDRO
RUIZ
GONZALEZ
Queremos seleccionar a las personas cuyo apellido1 sea 'PEREZ' o'RUIZ'
SELECT * FROM personas
WHERE apellido1
IN ('PEREZ','RUIZ')
nombre
apellido1
apellido2
ANTONIO
PEREZ
GOMEZ
PEDRO
RUIZ
GONZALEZ
CONSULTAS CON AGREGADO (AVG, COUNT, SUM, MAX, MIN)
CONSULTAS CON PREDICADO ALL, TOP, DISTINCT, DISTINTROW, ALIAS, AS, CONCAT)
TOP
La sentencia SQL TOP se utiliza para especificar el número de filas a mostrar en el resultado.
Esta cláusula SQL TOP es útil en...
Regístrate para leer el documento completo.