Sentencias de selección de SQL: ejemplos de seleccionar distinto, seleccionar en, insertar en y más

Cláusulas Select y From

La parte SELECCIONAR de una consulta normalmente es determinar qué columnas de datos mostrar en los resultados. También hay opciones que puede aplicar para mostrar datos que no son una columna de tabla.

Este ejemplo muestra tres columnas seleccionadas de la tabla "estudiante" y una columna calculada. La base de datos almacena el StudentID, FirstName y LastName del estudiante. Podemos combinar las columnas Nombre y Apellido para crear la columna calculada FullName.

select studentID, FirstName, LastName, FirstName + ' ' + LastName as FullName from student;
+-----------+-------------------+------------+------------------------+ | studentID | FirstName | LastName | FullName | +-----------+-------------------+------------+------------------------+ | 1 | Monique | Davis | Monique Davis | | 2 | Teri | Gutierrez | Teri Gutierrez | | 3 | Spencer | Pautier | Spencer Pautier | | 4 | Louis | Ramsey | Louis Ramsey | | 5 | Alvin | Greene | Alvin Greene | | 6 | Sophie | Freeman | Sophie Freeman | | 7 | Edgar Frank "Ted" | Codd | Edgar Frank "Ted" Codd | | 8 | Donald D. | Chamberlin | Donald D. Chamberlin | | 9 | Raymond F. | Boyce | Raymond F. Boyce | +-----------+-------------------+------------+------------------------+ 9 rows in set (0.00 sec)

* Al igual que con todas estas cosas de SQL, hay MUCHO MÁS que lo que se encuentra en esta guía introductoria.

Espero que esto al menos te dé lo suficiente para comenzar.

Consulte el manual de su administrador de base de datos y diviértase probando diferentes opciones usted mismo.

Declaración de SQL Select Distinct

Introducción

Esta palabra clave nos permite obtener listas de valores únicos en una columna. Esta guía lo demostrará.

Visualización completa de los datos en la tabla de estudiantes

USE fcc_sql_guides_database; SELECT studentID, FullName, sat_score, programOfStudy, rcd_Created, rcd_Updated FROM student;
+-----------+------------------------+-----------+------------------+---------------------+---------------------+ | studentID | FullName | sat_score | programOfStudy | rcd_Created | rcd_Updated | +-----------+------------------------+-----------+------------------+---------------------+---------------------+ | 1 | Monique Davis | 400 | Literature | 2017-08-16 15:34:50 | 2017-08-16 15:34:50 | | 2 | Teri Gutierrez | 800 | Programming | 2017-08-16 15:34:50 | 2017-08-16 15:34:50 | | 3 | Spencer Pautier | 1000 | Programming | 2017-08-16 15:34:50 | 2017-08-16 15:34:50 | | 4 | Louis Ramsey | 1200 | Programming | 2017-08-16 15:34:50 | 2017-08-16 15:34:50 | | 5 | Alvin Greene | 1200 | Programming | 2017-08-16 15:34:50 | 2017-08-16 15:34:50 | | 6 | Sophie Freeman | 1200 | Programming | 2017-08-16 15:34:50 | 2017-08-16 15:34:50 | | 7 | Edgar Frank "Ted" Codd | 2400 | Computer Science | 2017-08-16 15:35:33 | 2017-08-16 15:35:33 | | 8 | Donald D. Chamberlin | 2400 | Computer Science | 2017-08-16 15:35:33 | 2017-08-16 15:35:33 | | 9 | Raymond F. Boyce | 2400 | Computer Science | 2017-08-16 15:35:33 | 2017-08-16 15:35:33 | +-----------+------------------------+-----------+------------------+---------------------+---------------------+ 9 rows in set (0.00 sec)

Obtener lista de campos de estudio

SELECT DISTINCT programOfStudy FROM student;
+------------------+ | programOfStudy | +------------------+ | Literature | | Programming | | Computer Science | +------------------+ 3 rows in set (0.00 sec)

Al igual que con todas estas cosas de SQL, hay MUCHO MÁS que lo que se encuentra en esta guía introductoria.

Espero que esto al menos te dé lo suficiente para comenzar.

Consulte el manual de su administrador de base de datos y diviértase probando diferentes opciones usted mismo.

SQL Select into Statement

La SELECT INTOdeclaración es una consulta que le permite crear una nueva tabla y completarla con el conjunto de resultados de a SELECT statement. Para agregar datos a una tabla existente, consulte la instrucción INSERT INTO en su lugar.

SELECT INTO se puede utilizar cuando se combinan datos de varias tablas o vistas en una nueva tabla.1 La tabla original no se ve afectada.

La sintaxis general es:

SELECT column-names INTO new-table-name FROM table-name WHERE EXISTS (SELECT column-name FROM table-name WHERE condition)

Este ejemplo muestra un conjunto de una tabla que se "copió" de la tabla "Proveedor" a una nueva llamada SupplierUSA que contiene el conjunto relacionado con la columna país de valor "EE. UU.".

SELECT * INTO SupplierUSA FROM Supplier WHERE Country = 'USA';

Resultados : 4 filas afectadas 2

IDCompanyNameContactNameCiudadPaísTeléfono2Nueva Orleans Cajun DelightsShelley BurkeNueva OrleansEstados Unidos (100) 555-48223Grandma Kelly's HomesteadRegina MurphyAnn ArborEstados Unidos (313) 555-573516Bigfoot BreweriesCheryl SaylorBendUSANULL19New England 617

Consulte el manual de su administrador de base de datos y diviértase probando diferentes opciones usted mismo.

Insertar SQL en la instrucción

Para insertar un registro en una tabla, usa la INSERT INTOdeclaración.

Puede hacerlo de dos maneras, si desea insertar valores solo en algunas columnas, debe enumerar sus nombres, incluidas todas las columnas obligatorias. La sintaxis es:

INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);

La otra forma es insertar valores en todas las columnas de la tabla, no es necesario especificar los nombres de las columnas. La sintaxis es:

INSERT INTO table_name VALUES (value1, value2, value3, ...);

A continuación, se muestra un ejemplo de cómo insertar un registro en la tabla Person de ambas formas:

INSERT INTO Person VALUES (1, ‘John Lennon’, ‘1940-10-09’, ‘M’);

Y

INSERT INTO Person(Id, Name, DateOfBirth, Gender) VALUES (1, ‘John Lennon’, ‘1940-10-09’, ‘M’);

Algunas versiones de SQL (por ejemplo, MySQL) admiten la inserción de varias filas a la vez. Por ejemplo:

INSERT INTO Person(Id, Name, DateOfBirth, Gender) VALUES (1, ‘John Lennon’, ‘1940-10-09’, ‘M’), (2, ‘Paul McCartney’, ‘1942-06-18’, ‘M’), (3, ‘George Harrison’, ‘1943-02-25’, ‘M’), (4, ‘Ringo Starr’, ‘1940-07-07’, ‘M’)

Tenga en cuenta que toda la consulta original permanece intacta; simplemente agregamos filas de datos encerradas por paréntesis y separadas por comas.

Insertar SQL en la instrucción Select

Puede insertar registros en una tabla utilizando datos que ya están almacenados en la base de datos. Esta es solo una copia de los datos y no afecta la tabla de origen.

La INSERT INTO SELECTdeclaración combina INSERT INTOy SELECTdeclaraciones y puede utilizar las condiciones que desee. La sintaxis es:

INSERT INTO table2 (column1, column2, column3, ...) SELECT column1, column2, column3, ... FROM table1 WHERE condition;

A continuación se muestra un ejemplo que inserta en la tabla Persona todos los estudiantes varones de la tabla Estudiantes.

INSERT INTO Person(Id, Name, DateOfBirth, Gender) SELECT Id, Name, DateOfBirth, Gender FROM Students WHERE Gender = ‘M’

Other SQL resources:

  • SQL and Databases full video course
  • Basic SQL commands you should know