Como hacer SELECT en ARRAYS o como hacer SELECT con un grupo de opciones en particular.

Los ARRAYS o Arreglos los usamos para traer un grupo de valores que queremos.

CURSO

  1. Seleccionando los alumnos de ciertas posiciones.
SELECT *
FROM (
	SELECT ROW_NUMBER() OVER() AS row_id, *
	FROM platzi.alumnos
) AS alumnos_with_row_num
WHERE row_id IN (1,5,10,12,15,20,31);
  1. Seleccionando Alumnos con ciertos id
SELECT *
FROM platzi.alumnos
WHERE id IN (1, 2, 3);
  1. Seleccionar los alumnos con cierto tutor y cierta carrera. Trajimos los id donde el tutor es el 30.
SELECT *
FROM platzi.alumnos
WHERE id IN (
	SELECT id
	FROM platzi.alumnos
	WHERE tutor_id = 30 AND carrera_id = 31
	);

RETO

Para obtener los Registros que no pertenezcan al SET de opciones, basta con usar NOT antes de IN.

! = Diferente.

  1. Seleccionar los registros que no se encuentren en una lista (Array). Lo opuesto a la Clase.
SELECT *
FROM platzi.alumnos
WHERE id NOT IN (1,5,10,12,15,20,31, 35, 37, 49);
  1. Seleccionando los alumnos que no tengan cierto tutor (usando IDs).
SELECT *
FROM platzi.alumnos
WHERE id NOT IN (
    SELECT id
    FROM platzi.alumnos
    WHERE tutor_id = 30
  );
SELECT *
FROM platzi.alumnos
WHERE id IN (
	SELECT id
	FROM platzi.alumnos
	WHERE tutor_id != 30
);