En este notebook, recuperamos datos que cumplen criterios específicos mediante las cláusulas optimizando recursos mediante las cláusulas SELECT, FROM, WHERE, LIMIT y TOP. Se emplean operadores =, !=, <, > y operadores lógicos AND, OR, IN y funciones lIKE y de fechas.
%load_ext sql
%sql mysql://studentuser:studentpw@localhost/dognitiondb
Necesitamos los datos de los clientes que recibieron acceso gratuito a las primeras cuatro pruebas.Estos clientes tienen valor 1 en la columna "free_start_user" de la tabla de usuarios. User_guid es el campo que especifica el número de identificación de usuario único de cada cliente en la tabla de usuarios. Para control, mantengo la columna de free_start_user. Usamos el limit para ahorrar recurso y mejor visualización del resultado de la consulta:
%%sql
SELECT user_guid, free_start_user
FROM users
WHERE free_start_user=1
LIMIT 4;
Necesitamos los datos de las mascotas que hayan sido testeados; es decir dna_tested=1:
%%sql
SELECT dog_guid, dna_tested
FROM dogs
WHERE dna_tested=1;
Si desea examinar las identificaciones de los perros que fueron castrados o sometidos a pruebas de ADN, puede usar OR en la siguiente consulta:
%%sql
SELECT dog_guid, dog_fixed, dna_tested
FROM dogs
WHERE dog_fixed= 1 OR dna_tested= 1
LIMIT 4;
Si desea examinar las identificaciones de los perros que se le realizo castracción pero NO testeados por ADN, puede consultar:
%%sql
SELECT dog_guid, dog_fixed, dna_tested
FROM dogs
WHERE dog_fixed=1 AND dna_tested!=1
LIMIT 4;
Deseamos obtener los ID de los clientes que realizaron suscripciones anuales, indicados con un "2" en el campo membership_type de la tabla de usuarios:
%%sql
SELECT user_guid, membership_type
FROM users
WHERE membership_type=2;
Necesitamos ver los datos de perros de la raza "Golden Retrievers" y "Poodle":
%%sql
SELECT dog_guid, breed
FROM dogs
WHERE breed IN ("golden retriever","poodle")
LIMIT 5;
Queremos ver todos los datos de las razas cuyos nombres comienzan con "s":
%%sql
SELECT dog_guid, breed
FROM dogs
WHERE breed LIKE ("s%");
Recuperamos todos los ID de usuario de los clientes que tienen perras cuya raza incluye la palabra "terrier" en alguna parte de su nombre:
%%sql
SELECT user_guid, breed
FROM dogs
WHERE gender="female" AND breed LIKE ("%terrier%")
LIMIT 4;
Queremos extraer los ID de las mascotas y las marcas de tiempo de las pruebas completadas después del 15 de cada mes:
%%sql
SELECT dog_guid, created_at
FROM complete_tests
WHERE DAY(created_at) > 15;
Supongamos que se desea saber cuántas pruebas completan los clientes en diferentes días de la semana, por ejemplo los martes:
%%sql
SELECT dog_guid, created_at
FROM complete_tests
WHERE DAYNAME(created_at)="Tuesday";
También, extraemos las identificaciones de perros y marcas de tiempo de las pruebas completadas después del 4 de febrero de 2014:
%%sql
SELECT dog_guid, created_at
FROM complete_tests
WHERE created_at > '2014-02-04';
Necesitamos los campos Dog ID, subcategory_name y test_name, en ese orden, de las primeras 10 revisiones ingresadas en la tabla de Reseñas del 2014.
%%sql
SELECT dog_guid, subcategory_name, test_name
FROM reviews
WHERE YEAR(created_at)=2014
LIMIT 10;
Selecciamos la identificación del perro, el nombre de la prueba y la subcategoría asociada con cada prueba completada para las primeras 100 pruebas ingresadas en octubre de 2014:
%%sql
SELECT dog_guid, test_name, subcategory_name
FROM complete_tests
WHERE YEAR(created_at)="2014" and MONTH(created_at)=10
LIMIT 100;
Necesitamos los ID de usuario que no tienen valores nulos en el campo Estado de su información demográfica:
%%sql
SELECT user_guid, state
FROM users
WHERE state IS NOT NULL;
Sabemos que muchas de las entradas en el campo free_start_user de la tabla de usuarios en el conjunto de datos de tiene valores NULL, necesitamos los ID de estos usuarios de la tabla users:
%%sql
SELECT user_guid
FROM users
WHERE free_start_user IS NULL;