Introducción a SELECT en MySQL

En este tema, vamos a aprender acerca de SELECT en MySQL y principalmente en DQL, que es "lenguaje de consulta de datos". Esto viene a jugar cuando intentamos obtener registros de la base de datos y comienza con el comando "SELECCIONAR". Este comando se puede usar con muchas cláusulas SQL y otras funciones para obtener los registros deseados.

Hay muchos tipos de comandos SQL que se pueden clasificar en los siguientes:

  • DDL (lenguaje de definición de datos)
  • DML (lenguaje de manipulación de datos)
  • DQL (lenguaje de consulta de datos)
  • DCL (lenguaje de control de datos)
  • TCL (lenguaje de control de transacciones)

Sintaxis:

1. La sintaxis básica del comando SELECT:

SELECT * FROM table_name;

Esto buscará todos los registros con todos los atributos de una tabla.

SELECT column1, column2, …. FROM table_name;

Esto buscará columnas específicas de una tabla que se pasan a través de la consulta.

2. Este comando SELECT también se puede usar con el comando INSERT que se usa para agregar registros a la tabla existente.

INSERT INTO table_name1 SELECT * FROM table_name2;

Aquí la consulta buscará todos los registros de table_name2 y los insertará en table_name1.

Ejemplos para implementar SELECT en MySQL

Consideremos que hay una tabla de clientes con los siguientes atributos.

Cust_idNombre de pilaApellidoContactoEmailCiudadCantidad
1001RohitSharma9876736587Mumbai10000
1002ViratKohli8752877855Delhi60000
1003SachinTendulkar9867868678Mumbai15000
1004VirendraShewag9087788988Delhi20000

Vamos a ver algunas consultas básicas de SELECT usando algunas cláusulas para la comprensión básica de cómo funciona este comando.

Ejemplo 1

SELECT * FROM customer;

(Esto buscará todos los registros con todos los atributos de una tabla).

Salida:

Cust_idNombre de pilaApellidoContactoEmailCiudadCantidad
1001RohitSharma9876736587Mumbai10000
1002ViratKohli8752877855Delhi60000
1003SachinTendulkar9867868678Mumbai15000
1004VirendraShewag9087788988Delhi20000

Ejemplo # 2

SELECT cust_id, first_name, last_name, email, city
FROM customer;

(Esto buscará columnas específicas de una tabla que se pasan a través de una consulta)

Salida:

Cust_idNombre de pilaApellidoEmailCiudad
1001RohitSharmaMumbai
1002ViratKohliDelhi
1003SachinTendulkarMumbai
1004VirendraShewagDelhi

Ejemplo # 3

SELECT cust_id, first_name, last_name, email, city FROM customer
WHERE city = 'Delhi';

(DONDE el comando buscará esos registros solamente, donde la ciudad será 'Delhi')

Salida:

Cust_idNombre de pilaApellidoEmailCiudad
1002ViratKohliDelhi
1004VirendraShewagDelhi

Ejemplo # 4

SELECT cust_id, first_name, last_name, city, amount FROM customer
WHERE amount BETWEEN 5000 AND 25000;

(ENTRE la cláusula devolverá registros que satisfagan el rango de condición dado pasado en la consulta)

Salida:

Cust_idNombre de pilaApellidoCiudadCantidad
1001RohitSharmaMumbai10000
1003SachinTendulkarMumbai15000
1004VirendraShewagDelhi20000

Ejemplo # 5

SELECT * FROM customer
ORDER BY amount DESC;

(Se usa para ordenar los valores numéricos y de cadena de manera ascendente o descendente. Pero de manera predeterminada, se ordena de manera ascendente. Si queremos descender, entonces debemos especificarlo después de usar la cláusula ORDER BY)

Salida:

Cust_idNombre de pilaApellidoContactoEmailCiudadCantidad
1002ViratKohli8752877855Delhi60000
1004VirendraShewag9087788988Delhi20000
1003SachinTendulkar9867868678Mumbai15000
1001RohitSharma9876736587Mumbai10000

Cláusulas con el comando SELECT

Otras cláusulas con el comando SELECT:

1. SELECCIONAR: Se utiliza para recuperar todos los registros de una tabla.

SELECT * FROM table;

2. DISTINCT: se utiliza para obtener todos los valores únicos de una tabla.

SELECT DISTINCT col_name FROM table;

3. DÓNDE: Usó condiciones de perdón en la recuperación de registros.

SELECT employee_id FROM employee
WHERE name = 'stella';

4. CONTEO: Se usa para obtener el número de registros presentes en una tabla.

SELECT COUNT(*) FROM employee;

5. ORDER BY: se utiliza para ordenar los valores numéricos y de cadena de forma ascendente o descendente. Pero por defecto, se ordena de manera ascendente. Si queremos descender, debemos especificarlo después de usar la cláusula ORDER BY.

SELECT first_name FROM student
ORDER BY marks desc;

6. LÍMITE: Esto se usa para especificar el número de registros que queremos después de ejecutar la consulta. Si queremos los 5 mejores estudiantes de una clase, luego de ordenar los resultados, podemos usar este LÍMITE especificando 5. De modo que solo obtenga los 5 mejores registros.

SELECT first_name FROM student
ORDER BY marks desc
LIMIT 5;

(** ORDER BY usado aquí para ordenar el valor en orden descendente)

7. Y: si se dan 2 condiciones y ambas se cumplen para un registro, entonces solo la consulta obtendrá esos registros.

SELECT employee_id FROM employee
WHERE name = 'stella' AND city = 'Bangalore';

8. O: Si se dan 2 condiciones y una de ellas se cumple para un registro, entonces ese registro se obtendrá.

SELECT employee_id FROM employee
WHERE department = 'IT' OR city = 'Bangalore';

9. NO: Usado con condiciones. Si especificamos NOT antes de cualquier condición, se recuperarán los registros que no cumplan esas condiciones.

SELECT employee_id FROM employee
WHERE NOT BETWEEN 1 AND 10;

10. ENTRE: Este operador selecciona registros dentro de un rango dado. Principalmente usamos esto donde queremos especificar un rango de fechas.

SELECT emp_id FROM employee
WHERE emp_id BETWEEN 1 AND 10;

SELECT * FROM employee
WHERE join_date BETWEEN '2007-01-01' AND '2008-01-01';

11. IN: Este operador nos permite especificar múltiples valores en una cláusula WHERE.

SELECT * FROM employee
WHERE employee_id IN (1001, 1004, 1008, 1012);

12. LIKE: Este operador se usa con la cláusula WHERE para buscar un patrón específico en una columna que contiene la cadena.

  • 'A%': la cadena comienza con A
  • '& A' - termina con A
  • '% A%' - A estará entre la cadena
  • '_A%': aquí la segunda letra será A
  • '% A_': el segundo de la última letra será A

SELECT first_name FROM table
WHERE first_name LIKE 'A%';

13. SUBSTRING: se utiliza para elegir un carácter específico de una cadena especificando la posición.

SELECT SUBSTRING(customer_name, 1, 5) FROM customer_table;

(buscará el carácter de la primera a la quinta posición de una cadena)

14. INSTR: Esto devuelve una posición de una cadena en otra cadena.

SELECT INSTR('independence', 'pen');

(encontrará la posición de 'bolígrafo' en la palabra 'independencia')

15. GROUP BY: se utiliza para segregar registros en función de algunas condiciones dadas.

SELECT employee_id FROM employee GROUP BY department HAVING salary > 100000;

(Aquí se agrupan por empleados segregados en función de su departamento y cuyo salario es más de 100k.
La condición siempre viene con la declaración HAVING en la cláusula GROUP BY).

Funciones agregadas

A continuación se muestran las diferentes funciones agregadas:

1. SUMA: calcula la suma de valores.

SELECT SUM(salary) FROM employee;

2. AVG: calcula el conjunto promedio de valores.

SELECT AVG(salary) FROM employee;

3. MIN: Obtiene el valor mínimo en un conjunto de valores.

SELECT MIN(salary) FROM employee;

4. MAX: Obtiene el valor máximo en un conjunto de valores.

SELECT MAX(salary) FROM employee;

Se une a SELECT en MySQL

1. UNIÓN INTERNA: Devuelve registros que tienen un valor coincidente en ambas tablas.

SELECT * FROM order
INNER JOIN customer
ON order.cust_id = customer.cust_id;

2. IZQUIERDA: devuelve todos los registros de la tabla izquierda y los registros coincidentes de la tabla derecha.

SELECT * FROM order
LEFT JOIN customer
ON order.cust_id = customer.cust_id;

3. UNIÓN DERECHA: Devuelve todos los registros de la tabla derecha y los registros coincidentes de la tabla izquierda.

SELECT * FROM order
RIGHT JOIN customer
ON order.cust_id = customer.cust_id;

4. FULL OUTER JOIN: devuelve todos los registros cuando hay una coincidencia en la tabla izquierda o derecha.

SELECT * FROM order
FULL OUTER JOIN customer
ON order.cust_id = customer.cust_id;

Conclusión: SELECCIONAR en MySQL

Estos comandos y cláusulas que hemos discutido anteriormente son muy útiles en escenarios en tiempo real, ya que proporcionan los conceptos básicos de cómo usar las consultas SQL para buscar y manipular datos en la base de datos. Aparte de esto, al usar consultas avanzadas y analíticas como la función de ventana, etc., estas cláusulas son muy importantes.

Artículos recomendados

Esta es una guía para SELECCIONAR en MySQL Aquí discutimos el Ejemplo para implementar SELECCIONAR en MySQL con Cláusulas, Funciones Agregadas y Uniones. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. Comodines en MySQL
  2. ¿Qué es el esquema MySQL?
  3. ¿Cómo conectar la base de datos a MySQL?
  4. Consultas MySQL
  5. INSERTAR en Oracle | Ejemplos
  6. Ejemplos de DISTINCT en Oracle