Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.
SQL: declaración de selección
Este tutorial de SQL explica cómo usar SQL declaración de selección Viene con gramática, ejemplos y ejercicios.
describir
La declaración SQL SELECT se usa para recuperar registros de una o más tablas en una base de datos SQL. Los registros recuperados se denominan conjuntos de resultados.
sintaxis
La sintaxis de la instrucción SELECT en SQL es:
SELECT expressions FROM tables [WHERE conditions] [ORDER BY expression [ ASC | DESC ]];
parámetro o parámetro
Expresión La columna o cálculo que desea recuperar. Utilice * si desea seleccionar todas las columnas. tabla La tabla de la que desea recuperar registros. Debe aparecer al menos una tabla en la cláusula FROM. La condición WHERE es opcional. Para seleccionar las condiciones que debe cumplir un registro. Si no se proporcionan condiciones, se seleccionarán todos los registros. La expresión ORDER BY es opcional. La expresión utilizada para ordenar los registros en el conjunto de resultados. Si se proporcionan varias expresiones, los valores deben estar separados por comas. ASC es opcional. ASC ordena el conjunto de resultados en orden ascendente de expresiones. Este es el comportamiento predeterminado si el proveedor no es ningún modificador. DESC opcional. DESC ordena el conjunto de resultados en orden descendente de expresiones.
Ejemplo de DDL/DML
Si desea seguir este tutorial, obtenga DDL para crear las tablas y DML para completar los datos. ¡Entonces pruebe los ejemplos en su propia base de datos!
Ejemplo: seleccione todos los campos de la tabla
Veamos un ejemplo que muestra cómo usar una instrucción SQL SELECT para seleccionar todos los campos de una tabla.
En este ejemplo, tenemos una tabla llamada clientes con los siguientes datos:
Identificación del cliente | apellido | nombre | sitio favorito |
---|---|---|---|
4000 | jackson | José | Red de Ciencia y Tecnología |
5000 | Herrero | simple | digminecraft.com |
6000 | Ferguson | samantha | granactividad.com |
7000 | Reynolds | Alan | revisatumath.com |
8000 | anderson | Página | nulo |
9000 | Johnson | Derek | Red de Ciencia y Tecnología |
Ahora demostremos cómo funciona la declaración SELECT seleccionando todas las columnas de la tabla de clientes. Ingrese la siguiente instrucción SELECT:
SELECT * FROM customers WHERE favorite_website="prograrmaplus.com" ORDER BY last_name ASC;
Se seleccionarán 2 registros. Estos son los resultados que deberías ver:
Identificación del cliente | apellido | nombre | sitio favorito |
---|---|---|---|
4000 | jackson | José | Red de Ciencia y Tecnología |
9000 | Johnson | Derek | Red de Ciencia y Tecnología |
En este ejemplo, usamos * para indicar que queremos ver todos los campos en la tabla de clientes donde el sitio web favorito es “prograrmaplus.com”. El conjunto de resultados se ordena por apellido en orden ascendente.
Ejemplo: seleccione un solo campo de una tabla
También puede usar una instrucción SQL SELECT para seleccionar un solo campo de una tabla en lugar de todos los campos de la tabla.
En este ejemplo, tenemos una tabla llamada proveedores con los siguientes datos:
Identificación del proveedor | Nombre del proveedor | Ciudad | Expresar |
---|---|---|---|
100 | microsoft | Redmond | Washington |
200 | paisaje de la cima de la montaña | California | |
300 | Oráculo | ciudad de secoya | California |
400 | Kimberly Clark | Owen | Texas |
500 | Alimentos Tyson | Springdale | Arkansas |
600 | sc johnson | Racine | el estado de wisconsin |
700 | Alimentos Dole | pueblo del lago oeste | California |
800 | flores comida | thomasville | Georgia |
900 | Artes electrónicas | ciudad de secoya | California |
Ahora demostremos cómo usar la declaración SELECT para seleccionar una sola columna de una tabla. Ingrese la siguiente instrucción SELECT:
SELECT supplier_name, city FROM suppliers WHERE supplier_id > 500 ORDER BY supplier_name ASC, city DESC;
Se deben seleccionar 4 registros. Estos son los resultados que deberías ver:
Nombre del proveedor | Ciudad |
---|---|
Alimentos Dole | pueblo del lago oeste |
Artes electrónicas | ciudad de secoya |
flores comida | thomasville |
sc johnson | Racine |
Este ejemplo solo devolverá los campos NombreProveedor y Ciudad en la tabla Proveedores con un valor de IdProveedor superior a 500. Los resultados se ordenan por nombre de proveedor en orden ascendente, luego por ciudad en orden descendente.
Ejemplo: seleccione un solo campo de varias tablas
También puede recuperar campos de varias tablas mediante la instrucción SQL SELECT.
En este ejemplo, tenemos una tabla llamada pedidos con los siguientes datos:
Solicitar ID | Identificación del cliente | fecha de orden |
---|---|---|
1 | 7000 | 2016/04/18 |
2 | 5000 | 2016/04/18 |
3 | 8000 | 2016/04/19 |
4 | 4000 | 2016/04/20 |
5 | nulo | 2016/05/01 |
También existe una tabla llamada clientes con los siguientes datos:
Identificación del cliente | apellido | nombre | sitio favorito |
---|---|---|---|
4000 | jackson | José | Red de Ciencia y Tecnología |
5000 | Herrero | simple | digminecraft.com |
6000 | Ferguson | samantha | granactividad.com |
7000 | Reynolds | Alan | revisatumath.com |
8000 | anderson | Página | nulo |
9000 | Johnson | Derek | Red de Ciencia y Tecnología |
Ahora seleccionemos columnas de la tabla Pedidos y Clientes. Ingrese la siguiente instrucción SELECT:
SELECT orders.order_id, customers.last_name FROM orders INNER JOIN customers ON orders.customer_id = customers.customer_id WHERE orders.order_id <> 1 ORDER BY orders.order_id;
Se seleccionarán 3 registros. Estos son los resultados que deberías ver:
Solicitar ID | apellido |
---|---|
2 | Herrero |
3 | anderson |
4 | jackson |
Este ejemplo de SELECT une dos tablas, dándonos un conjunto de resultados que muestra order_id de la tabla de pedidos y last_name de la tabla de clientes. Cada vez que usamos una columna en una declaración SELECT, anteponemos la columna con el nombre de la tabla (por ejemplo, orders.order_id), en caso de que haya alguna ambigüedad sobre a qué tabla pertenece la columna.
Si desea seleccionar todos los campos de la tabla de pedidos y luego el campo last_name de la tabla de clientes, ingrese la siguiente instrucción SELECT:
SELECT orders.*, customers.last_name FROM orders INNER JOIN customers ON orders.customer_id = customers.customer_id WHERE orders.order_id <> 1 ORDER BY orders.order_id;
Se seleccionarán 3 registros. Estos son los resultados que deberías ver:
Solicitar ID | Identificación del cliente | fecha de orden | apellido |
---|---|---|---|
2 | 5000 | 2016/04/18 | Herrero |
3 | 8000 | 2016/04/19 | anderson |
4 | 4000 | 2016/04/20 | jackson |
En este ejemplo, usamos orders.* para indicar que queremos seleccionar todos los campos de la tabla de pedidos y luego seleccionamos el campo last_name de la tabla de clientes.
práctica práctica
Si desea poner a prueba sus habilidades con las sentencias SQL SELECT, pruebe algunos de nuestros ejercicios.
Estos ejercicios le permiten probar sus habilidades usando la sentencia SELECT. Recibirá preguntas que necesitan ser resueltas. Después de cada ejercicio, proporcionamos soluciones para que puedas comprobar tus respuestas. ¡Darle una oportunidad!