diff --git a/Lab05.sql b/Lab05.sql new file mode 100644 index 0000000..f48b653 --- /dev/null +++ b/Lab05.sql @@ -0,0 +1,158 @@ +CREATE TABLE authors ( + author_id INT NOT NULL AUTO_INCREMENT, + name VARCHAR(255) NOT NULL, + PRIMARY KEY (author_id) +); + +CREATE TABLE posts ( + post_id INT NOT NULL AUTO_INCREMENT, + title VARCHAR(255) NOT NULL, + word_count INT NOT NULL, + views INT NOT NULL, + author_id INT, + PRIMARY KEY (post_id), + FOREIGN KEY (author_id) REFERENCES authors(author_id) +); + +INSERT INTO authors (name) VALUES + ('Maria Charlotte'), + ('Juan Perez'), + ('Gemma Alcocer'); + +INSERT INTO posts (title, word_count, views, author_id) VALUES +('Best Paint Colors', 814, 14, 1), +('Small Space Decorating Tips', 1146, 221, 2), +('Hot Accessories', 986, 105, 1), +('Mixing Textures', 765, 22, 1), +('Kitchen Refresh', 1242, 307, 2), +('Homemade Art Hacks', 1002, 193, 1), +('Refinishing Wood Floors', 1571, 7542, 3); + +CREATE TABLE customers ( + customer_id INT NOT NULL AUTO_INCREMENT, + name VARCHAR(255) NOT NULL, + status VARCHAR(50), + PRIMARY KEY (customer_id) +); + +CREATE TABLE aircrafts ( + aircraft_id INT NOT NULL AUTO_INCREMENT, + type VARCHAR(255) NOT NULL, + total_seats INT NOT NULL, + PRIMARY KEY (aircraft_id) +); + +CREATE TABLE flights ( + flight_id INT NOT NULL AUTO_INCREMENT, + flight_number VARCHAR(50) NOT NULL, + mileage INT NOT NULL, + aircraft_id INT, + PRIMARY KEY (flight_id), + FOREIGN KEY (aircraft_id) REFERENCES aircrafts(aircraft_id) +); + +CREATE TABLE customer_flights ( + customer_id INT, + flight_id INT, + total_customer_mileage INT, + FOREIGN KEY (customer_id) REFERENCES customers(customer_id), + FOREIGN KEY (flight_id) REFERENCES flights(flight_id) +); + +INSERT INTO customers (name, status) VALUES +('Agustine Riviera', 'Silver'), +('Alaina Sepulvida', 'None'), +('Tom Jones', 'Gold'), +('Sam Rio', 'None'), +('Jessica James', 'Silver'), +('Ana Janco', 'Silver'), +('Jennifer Cortez', 'Gold'), +('Christian Janco', 'Silver'); + +INSERT INTO aircrafts (type, total_seats) VALUES +('Boeing 747', 400), +('Airbus A330', 236), +('Boeing 777', 264); + +INSERT INTO flights (flight_number, mileage, aircraft_id) VALUES +('DL143', 135, 1), +('DL122', 4370, 2), +('DL53', 2078, 3), +('DL222', 1765, 3), +('DL37', 531, 1); + +INSERT INTO customer_flights (customer_id, flight_id, total_customer_mileage) VALUES +((SELECT customer_id FROM customers WHERE name = 'Agustine Riviera'), (SELECT flight_id FROM flights WHERE flight_number = 'DL143'), 115235), +((SELECT customer_id FROM customers WHERE name = 'Agustine Riviera'), (SELECT flight_id FROM flights WHERE flight_number = 'DL122'), 115235), +((SELECT customer_id FROM customers WHERE name = 'Alaina Sepulvida'), (SELECT flight_id FROM flights WHERE flight_number = 'DL122'), 6008), +((SELECT customer_id FROM customers WHERE name = 'Tom Jones'), (SELECT flight_id FROM flights WHERE flight_number = 'DL122'), 205767), +((SELECT customer_id FROM customers WHERE name = 'Tom Jones'), (SELECT flight_id FROM flights WHERE flight_number = 'DL53'), 205767), +((SELECT customer_id FROM customers WHERE name = 'Tom Jones'), (SELECT flight_id FROM flights WHERE flight_number = 'DL222'), 205767), +((SELECT customer_id FROM customers WHERE name = 'Sam Rio'), (SELECT flight_id FROM flights WHERE flight_number = 'DL143'), 2653), +((SELECT customer_id FROM customers WHERE name = 'Jessica James'), (SELECT flight_id FROM flights WHERE flight_number = 'DL143'), 127656), +((SELECT customer_id FROM customers WHERE name = 'Sam Rio'), (SELECT flight_id FROM flights WHERE flight_number = 'DL143'), 2653), +((SELECT customer_id FROM customers WHERE name = 'Ana Janco'), (SELECT flight_id FROM flights WHERE flight_number = 'DL222'), 136773), +((SELECT customer_id FROM customers WHERE name = 'Jennifer Cortez'), (SELECT flight_id FROM flights WHERE flight_number = 'DL222'), 300582), +((SELECT customer_id FROM customers WHERE name = 'Jessica James'), (SELECT flight_id FROM flights WHERE flight_number = 'DL122'), 127656), +((SELECT customer_id FROM customers WHERE name = 'Sam Rio'), (SELECT flight_id FROM flights WHERE flight_number = 'DL37'), 2653), +((SELECT customer_id FROM customers WHERE name = 'Christian Janco'), (SELECT flight_id FROM flights WHERE flight_number = 'DL222'), 14642); + +-- Nº total de vuelos: +SELECT COUNT(DISTINCT flight_number) AS total_flights FROM flights; + +-- Distancia promedio de vuelo: +SELECT AVG(mileage) AS average_flight_distance FROM flights; + +-- Nº promedio de asientos: +SELECT AVG(total_seats) AS average_seats FROM aircrafts; + +-- Nº promedio de millas voladas/clientes- por estatus: +SELECT + c.status AS customer_status, + MAX(cf.total_customer_mileage) AS max_miles +FROM + customers c + JOIN + customer_flights cf ON c.customer_id = cf.customer_id +GROUP BY + c.status; + +-- Nº total de aeronaves Boeing: +SELECT COUNT(*) AS total_boeing_aircrafts FROM aircrafts WHERE type LIKE '%Boeing%'; + +-- Vuelos entre 300 y 2000 millas: +SELECT * FROM flights WHERE mileage BETWEEN 300 AND 2000; + +-- Distancia promedio de vuelo reservada por estatus/cliente: +SELECT + c.status AS customer_status, + AVG(f.mileage) AS average_flight_distance +FROM + customers c + JOIN + customer_flights cf ON c.customer_id = cf.customer_id + JOIN + flights f ON cf.flight_id = f.flight_id +GROUP BY + c.status; + +-- Aeronave + reservada por miembros oro: +SELECT + a.type AS aircraft_type, + COUNT(*) AS reservation_count +FROM + customers c + JOIN + customer_flights cf ON c.customer_id = cf.customer_id + JOIN + flights f ON cf.flight_id = f.flight_id + JOIN + aircrafts a ON f.aircraft_id = a.aircraft_id +WHERE + c.status = 'Gold' +GROUP BY + a.type +ORDER BY + reservation_count DESC +LIMIT 1; + diff --git a/Main.java b/Main.java new file mode 100644 index 0000000..3e59c38 --- /dev/null +++ b/Main.java @@ -0,0 +1,5 @@ +public class Main { + public static void main(String[] args) { + System.out.println("Hello world!"); + } +} \ No newline at end of file diff --git a/README.md b/README.md index cca8c33..fabef0f 100644 --- a/README.md +++ b/README.md @@ -1,251 +1,251 @@ - -![logo_ironhack_blue 7](https://user-images.githubusercontent.com/23629340/40541063-a07a0a8a-601a-11e8-91b5-2f13e4e6b441.png) - -# LAB | Java SQL - -## Introducción - -Acabamos de aprender cómo normalizar bases de datos así como cómo crear esquemas de base de datos y cómo realizar consultas SQL complejas, así que practiquemos un poco más. - -
- -## Requisitos - -1. Haz un fork de este repositorio. -2. Clona este repositorio. -3. Añade a tu instructor y a los calificadores de la clase como colaboradores de tu repositorio. Si no estás seguro de quiénes son los calificadores de tu clase, pregunta a tu instructor o consulta la presentación del primer día. -4. En el repositorio, crea un proyecto de Java y añade el código para las siguientes tareas. - -## Entrega - -Una vez que termines la tarea, envía un enlace URL a tu repositorio o tu solicitud de extracción en el campo de abajo. - -
- -## Instrucciones - -1. Normalice la siguiente base de datos de blog y escriba los scripts DDL para crear las tablas de la base de datos: - -| author | title | word count | views | -| --------------- | --------------------------- | ---------- | ----- | -| Maria Charlotte | Best Paint Colors | 814 | 14 | -| Juan Perez | Small Space Decorating Tips | 1146 | 221 | -| Maria Charlotte | Hot Accessories | 986 | 105 | -| Maria Charlotte | Mixing Textures | 765 | 22 | -| Juan Perez | Kitchen Refresh | 1242 | 307 | -| Maria Charlotte | Homemade Art Hacks | 1002 | 193 | -| Gemma Alcocer | Refinishing Wood Floors | 1571 | 7542 | - -
- -2. Normalice la siguiente base de datos de aerolíneas y escriba los scripts DDL para crear las tablas de la base de datos: - -| Customer Name | Customer Status | Flight Number | Aircraft | Total Aircraft Seats | Flight Mileage | Total Customer Mileage | -| ---------------- | --------------- | ------------- | ----------- | -------------------- | -------------- | ---------------------- | -| Agustine Riviera | Silver | DL143 | Boeing 747 | 400 | 135 | 115235 | -| Agustine Riviera | Silver | DL122 | Airbus A330 | 236 | 4370 | 115235 | -| Alaina Sepulvida | None | DL122 | Airbus A330 | 236 | 4370 | 6008 | -| Agustine Riviera | Silver | DL143 | Boeing 747 | 400 | 135 | 115235 | -| Tom Jones | Gold | DL122 | Airbus A330 | 236 | 4370 | 205767 | -| Tom Jones | Gold | DL53 | Boeing 777 | 264 | 2078 | 205767 | -| Agustine Riviera | Silver | DL143 | Boeing 747 | 400 | 135 | 115235 | -| Sam Rio | None | DL143 | Boeing 747 | 400 | 135 | 2653 | -| Agustine Riviera | Silver | DL143 | Boeing 747 | 400 | 135 | 115235 | -| Tom Jones | Gold | DL222 | Boeing 777 | 264 | 1765 | 205767 | -| Jessica James | Silver | DL143 | Boeing 747 | 400 | 135 | 127656 | -| Sam Rio | None | DL143 | Boeing 747 | 400 | 135 | 2653 | -| Ana Janco | Silver | DL222 | Boeing 777 | 264 | 1765 | 136773 | -| Jennifer Cortez | Gold | DL222 | Boeing 777 | 264 | 1765 | 300582 | -| Jessica James | Silver | DL122 | Airbus A330 | 236 | 4370 | 127656 | -| Sam Rio | None | DL37 | Boeing 747 | 400 | 531 | 2653 | -| Christian Janco | Silver | DL222 | Boeing 777 | 264 | 1765 | 14642 | - -
- -3. En la base de datos de aerolíneas escriba el script SQL para obtener el número total de vuelos en la base de datos. -4. En la base de datos de aerolíneas escriba el script SQL para obtener la distancia promedio de vuelo. -5. En la base de datos de aerolíneas escriba el script SQL para obtener el número promedio de asientos. -6. En la base de datos de aerolíneas escriba el script SQL para obtener el número promedio de millas voladas por los clientes agrupados por estatus. -7. En la base de datos de aerolíneas escriba el script SQL para obtener el número máximo de millas voladas por los clientes agrupados por estatus. -8. En la base de datos de aerolíneas escriba el script SQL para obtener el número total de aeronaves con un nombre que contiene Boeing. -9. En la base de datos de aerolíneas escriba el script SQL para encontrar todos los vuelos con una distancia entre 300 y 2000 millas. -10. En la base de datos de aerolíneas escriba el script SQL para encontrar la distancia promedio de vuelo reservada agrupada por estatus de cliente (esto requerirá una unión). -11. En la base de datos de aerolíneas escriba el script SQL para encontrar la aeronave más a menudo reservada por los miembros de estatus de oro (esto requerirá una unión). - -
- -## FAQs (Preguntas frecuentes) - -
- -
- Estoy atascado y no sé cómo resolver el problema o por dónde empezar. ¿Qué debo hacer? - -
- - Si estás atascado en tu código y no sabes cómo resolver el problema o por dónde empezar, debes dar un paso atrás y tratar de formular una pregunta clara y directa sobre el problema específico que enfrentas. El proceso que seguirás al tratar de definir esta pregunta te ayudará a limitar el problema y a encontrar soluciones potenciales. - - Por ejemplo, ¿estás enfrentando un problema porque no entiendes el concepto o estás recibiendo un mensaje de error que no sabes cómo arreglar? Por lo general, es útil intentar formular el problema de la manera más clara posible, incluyendo cualquier mensaje de error que estés recibiendo. Esto puede ayudarte a comunicar el problema a otras personas y, potencialmente, a obtener ayuda de tus compañeros o recursos en línea. - - Una vez que tengas una comprensión clara del problema, deberías poder comenzar a trabajar hacia la solución. - -
- -
- -
- Cómo crear una tabla e insertar datos en ella en SQL? - -
- -Crear una tabla e insertar datos en ella son las dos tareas más básicas que realizarás en SQL. Aquí hay una guía para hacerlo: - -1. Crear una tabla - -Para crear una tabla, debes usar la declaración CREATE TABLE. Aquí hay un ejemplo de cómo puedes crear una tabla llamada "empleados": - - ```sql - CREATE TABLE employees ( - id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, - name VARCHAR(50) NOT NULL, - age INT NOT NULL, - salary DECIMAL(10, 2) NOT NULL - ); - ``` - -2. Insertar datos en una tabla - -Una vez que has creado una tabla, puedes insertar datos en ella. Para insertar datos, usas la declaración INSERT INTO. Aquí hay un ejemplo de cómo puedes insertar datos en la tabla "empleados": - - ```sql - INSERT INTO employees (name, age, salary) - VALUES ('John Doe', 32, 50000), - ('Jane Doe', 28, 45000), - ('Jim Smith', 40, 55000); - ``` - -El código anterior inserta tres filas en la tabla "empleados". Puedes insertar tantas filas como quieras, solo separa cada fila con una coma. - -
- -
- -
- ¿Cuál es la diferencia entre usar "INNER JOIN", "LEFT JOIN", "RIGHT JOIN" y "FULL OUTER JOIN" en SQL? - -
- -Un `INNER JOIN` solo devuelve las filas que tienen valores coincidentes en ambas tablas. Solo devuelve los valores comunes. - -Un `LEFT JOIN` devuelve todas las filas de la tabla izquierda y los valores coincidentes de la tabla derecha. Si no hay coincidencia, devuelve valores NULL. - -Un `RIGHT JOIN` devuelve todas las filas de la tabla derecha y los valores coincidentes de la tabla izquierda. Si no hay coincidencia, devuelve valores NULL. - -Un `FULL OUTER JOIN` devuelve todas las filas de ambas tablas, incluyendo valores coincidentes y no coincidentes. Si no hay coincidencia, devuelve valores NULL. - -Fragmentos de código: - -INNER JOIN: - - ```sql - SELECT * - FROM table1 - INNER JOIN table2 - ON table1.column = table2.column; - ``` - -LEFT JOIN: - - ```sql - SELECT * - FROM table1 - LEFT JOIN table2 - ON table1.column = table2.column; - ``` - -RIGHT JOIN: - - ```sql - SELECT * - FROM table1 - RIGHT JOIN table2 - ON table1.column = table2.column; - ``` - -FULL OUTER JOIN: - - ```sql - SELECT * - FROM table1 - FULL OUTER JOIN table2 - ON table1.column = table2.column; - ``` - -
- -
- -
- ¿Cuál es el propósito de utilizar "GROUP BY", "ORDER BY" y "LIMIT" en SQL? - -
- - 1. `GROUP BY` en SQL se utiliza para agrupar filas que tengan los mismos valores en las columnas especificadas. Esto es útil cuando quieres realizar funciones de agregación (como SUM, AVG, MIN, MAX) en cada grupo, en lugar de en el conjunto de resultados completo. Por ejemplo, si tienes una tabla de transacciones de ventas y quieres ver las ventas totales de cada vendedor, utilizarías el siguiente código SQL: - - ```sql - SELECT salesperson, SUM(sales) - FROM sales_table - GROUP BY salesperson; - ``` - - 2. `ORDER BY` en SQL se utiliza para ordenar el conjunto de resultados en orden ascendente o descendente basado en una o más columnas. Por ejemplo, si tienes una tabla de clientes y quieres ver la lista ordenada por apellido, utilizarías el siguiente código SQL: - - ```sql - SELECT * - FROM customers - ORDER BY last_name; - ``` - - 3. `LIMIT` en SQL se utiliza para especificar el número máximo de filas que se devolverán en el conjunto de resultados. Por ejemplo, si solo quieres ver los primeros 10 clientes en la lista, utilizarías el siguiente código SQL: - - ```sql - SELECT * - FROM customers - LIMIT 10; - ``` - - Al combinar estos comandos, puedes producir consultas sofisticadas que pueden satisfacer una amplia gama de necesidades. - -
- -
- -
- No puedo enviar cambios a mi repositorio. ¿Qué debo hacer? - - - - Si no puedes enviar cambios a tu repositorio, aquí hay algunos pasos que puedes seguir: - - 1. Verifica tu conexión a internet: Asegúrate de que tu conexión a internet sea estable y funcione. - 2. Verifica la URL de tu repositorio: Asegúrate de estar usando la URL correcta de tu repositorio para enviar tus cambios. - 3. Revisa tus credenciales de Git: Asegúrate de que tus credenciales de Git estén actualizadas y correctas. Puedes revisar tus credenciales usando el siguiente comando: - - ```bash - git config --list - ``` - - 4. Actualiza tu repositorio local: Antes de enviar cambios, asegúrate de que tu repositorio local esté actualizado con el repositorio remoto. Puedes actualizar tu repositorio local usando el siguiente comando: - - ```bash - git fetch origin - ``` - - 5. Revisa posibles conflictos: Si hay conflictos entre tu repositorio local y el repositorio remoto, resuélvelos antes de enviar cambios. - 6. Envía cambios: Una vez que hayas resuelto los conflictos y actualizado tu repositorio local, puedes intentar enviar cambios nuevamente usando el siguiente comando: - - ```bash - git push origin - ``` - + +![logo_ironhack_blue 7](https://user-images.githubusercontent.com/23629340/40541063-a07a0a8a-601a-11e8-91b5-2f13e4e6b441.png) + +# LAB | Java SQL + +## Introducción + +Acabamos de aprender cómo normalizar bases de datos así como cómo crear esquemas de base de datos y cómo realizar consultas SQL complejas, así que practiquemos un poco más. + +
+ +## Requisitos + +1. Haz un fork de este repositorio. +2. Clona este repositorio. +3. Añade a tu instructor y a los calificadores de la clase como colaboradores de tu repositorio. Si no estás seguro de quiénes son los calificadores de tu clase, pregunta a tu instructor o consulta la presentación del primer día. +4. En el repositorio, crea un proyecto de Java y añade el código para las siguientes tareas. + +## Entrega + +Una vez que termines la tarea, envía un enlace URL a tu repositorio o tu solicitud de extracción en el campo de abajo. + +
+ +## Instrucciones + +1. Normalice la siguiente base de datos de blog y escriba los scripts DDL para crear las tablas de la base de datos: + +| author | title | word count | views | +| --------------- | --------------------------- | ---------- | ----- | +| Maria Charlotte | Best Paint Colors | 814 | 14 | +| Juan Perez | Small Space Decorating Tips | 1146 | 221 | +| Maria Charlotte | Hot Accessories | 986 | 105 | +| Maria Charlotte | Mixing Textures | 765 | 22 | +| Juan Perez | Kitchen Refresh | 1242 | 307 | +| Maria Charlotte | Homemade Art Hacks | 1002 | 193 | +| Gemma Alcocer | Refinishing Wood Floors | 1571 | 7542 | + +
+ +2. Normalice la siguiente base de datos de aerolíneas y escriba los scripts DDL para crear las tablas de la base de datos: + +| Customer Name | Customer Status | Flight Number | Aircraft | Total Aircraft Seats | Flight Mileage | Total Customer Mileage | +| ---------------- | --------------- | ------------- | ----------- | -------------------- | -------------- | ---------------------- | +| Agustine Riviera | Silver | DL143 | Boeing 747 | 400 | 135 | 115235 | +| Agustine Riviera | Silver | DL122 | Airbus A330 | 236 | 4370 | 115235 | +| Alaina Sepulvida | None | DL122 | Airbus A330 | 236 | 4370 | 6008 | +| Agustine Riviera | Silver | DL143 | Boeing 747 | 400 | 135 | 115235 | +| Tom Jones | Gold | DL122 | Airbus A330 | 236 | 4370 | 205767 | +| Tom Jones | Gold | DL53 | Boeing 777 | 264 | 2078 | 205767 | +| Agustine Riviera | Silver | DL143 | Boeing 747 | 400 | 135 | 115235 | +| Sam Rio | None | DL143 | Boeing 747 | 400 | 135 | 2653 | +| Agustine Riviera | Silver | DL143 | Boeing 747 | 400 | 135 | 115235 | +| Tom Jones | Gold | DL222 | Boeing 777 | 264 | 1765 | 205767 | +| Jessica James | Silver | DL143 | Boeing 747 | 400 | 135 | 127656 | +| Sam Rio | None | DL143 | Boeing 747 | 400 | 135 | 2653 | +| Ana Janco | Silver | DL222 | Boeing 777 | 264 | 1765 | 136773 | +| Jennifer Cortez | Gold | DL222 | Boeing 777 | 264 | 1765 | 300582 | +| Jessica James | Silver | DL122 | Airbus A330 | 236 | 4370 | 127656 | +| Sam Rio | None | DL37 | Boeing 747 | 400 | 531 | 2653 | +| Christian Janco | Silver | DL222 | Boeing 777 | 264 | 1765 | 14642 | + +
+ +3. En la base de datos de aerolíneas escriba el script SQL para obtener el número total de vuelos en la base de datos. +4. En la base de datos de aerolíneas escriba el script SQL para obtener la distancia promedio de vuelo. +5. En la base de datos de aerolíneas escriba el script SQL para obtener el número promedio de asientos. +6. En la base de datos de aerolíneas escriba el script SQL para obtener el número promedio de millas voladas por los clientes agrupados por estatus. +7. En la base de datos de aerolíneas escriba el script SQL para obtener el número máximo de millas voladas por los clientes agrupados por estatus. +8. En la base de datos de aerolíneas escriba el script SQL para obtener el número total de aeronaves con un nombre que contiene Boeing. +9. En la base de datos de aerolíneas escriba el script SQL para encontrar todos los vuelos con una distancia entre 300 y 2000 millas. +10. En la base de datos de aerolíneas escriba el script SQL para encontrar la distancia promedio de vuelo reservada agrupada por estatus de cliente (esto requerirá una unión). +11. En la base de datos de aerolíneas escriba el script SQL para encontrar la aeronave más a menudo reservada por los miembros de estatus de oro (esto requerirá una unión). + +
+ +## FAQs (Preguntas frecuentes) + +
+ +
+ Estoy atascado y no sé cómo resolver el problema o por dónde empezar. ¿Qué debo hacer? + +
+ + Si estás atascado en tu código y no sabes cómo resolver el problema o por dónde empezar, debes dar un paso atrás y tratar de formular una pregunta clara y directa sobre el problema específico que enfrentas. El proceso que seguirás al tratar de definir esta pregunta te ayudará a limitar el problema y a encontrar soluciones potenciales. + + Por ejemplo, ¿estás enfrentando un problema porque no entiendes el concepto o estás recibiendo un mensaje de error que no sabes cómo arreglar? Por lo general, es útil intentar formular el problema de la manera más clara posible, incluyendo cualquier mensaje de error que estés recibiendo. Esto puede ayudarte a comunicar el problema a otras personas y, potencialmente, a obtener ayuda de tus compañeros o recursos en línea. + + Una vez que tengas una comprensión clara del problema, deberías poder comenzar a trabajar hacia la solución. + +
+ +
+ +
+ Cómo crear una tabla e insertar datos en ella en SQL? + +
+ +Crear una tabla e insertar datos en ella son las dos tareas más básicas que realizarás en SQL. Aquí hay una guía para hacerlo: + +1. Crear una tabla + +Para crear una tabla, debes usar la declaración CREATE TABLE. Aquí hay un ejemplo de cómo puedes crear una tabla llamada "empleados": + + ```sql + CREATE TABLE employees ( + id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, + name VARCHAR(50) NOT NULL, + age INT NOT NULL, + salary DECIMAL(10, 2) NOT NULL + ); + ``` + +2. Insertar datos en una tabla + +Una vez que has creado una tabla, puedes insertar datos en ella. Para insertar datos, usas la declaración INSERT INTO. Aquí hay un ejemplo de cómo puedes insertar datos en la tabla "empleados": + + ```sql + INSERT INTO employees (name, age, salary) + VALUES ('John Doe', 32, 50000), + ('Jane Doe', 28, 45000), + ('Jim Smith', 40, 55000); + ``` + +El código anterior inserta tres filas en la tabla "empleados". Puedes insertar tantas filas como quieras, solo separa cada fila con una coma. + +
+ +
+ +
+ ¿Cuál es la diferencia entre usar "INNER JOIN", "LEFT JOIN", "RIGHT JOIN" y "FULL OUTER JOIN" en SQL? + +
+ +Un `INNER JOIN` solo devuelve las filas que tienen valores coincidentes en ambas tablas. Solo devuelve los valores comunes. + +Un `LEFT JOIN` devuelve todas las filas de la tabla izquierda y los valores coincidentes de la tabla derecha. Si no hay coincidencia, devuelve valores NULL. + +Un `RIGHT JOIN` devuelve todas las filas de la tabla derecha y los valores coincidentes de la tabla izquierda. Si no hay coincidencia, devuelve valores NULL. + +Un `FULL OUTER JOIN` devuelve todas las filas de ambas tablas, incluyendo valores coincidentes y no coincidentes. Si no hay coincidencia, devuelve valores NULL. + +Fragmentos de código: + +INNER JOIN: + + ```sql + SELECT * + FROM table1 + INNER JOIN table2 + ON table1.column = table2.column; + ``` + +LEFT JOIN: + + ```sql + SELECT * + FROM table1 + LEFT JOIN table2 + ON table1.column = table2.column; + ``` + +RIGHT JOIN: + + ```sql + SELECT * + FROM table1 + RIGHT JOIN table2 + ON table1.column = table2.column; + ``` + +FULL OUTER JOIN: + + ```sql + SELECT * + FROM table1 + FULL OUTER JOIN table2 + ON table1.column = table2.column; + ``` + +
+ +
+ +
+ ¿Cuál es el propósito de utilizar "GROUP BY", "ORDER BY" y "LIMIT" en SQL? + +
+ + 1. `GROUP BY` en SQL se utiliza para agrupar filas que tengan los mismos valores en las columnas especificadas. Esto es útil cuando quieres realizar funciones de agregación (como SUM, AVG, MIN, MAX) en cada grupo, en lugar de en el conjunto de resultados completo. Por ejemplo, si tienes una tabla de transacciones de ventas y quieres ver las ventas totales de cada vendedor, utilizarías el siguiente código SQL: + + ```sql + SELECT salesperson, SUM(sales) + FROM sales_table + GROUP BY salesperson; + ``` + + 2. `ORDER BY` en SQL se utiliza para ordenar el conjunto de resultados en orden ascendente o descendente basado en una o más columnas. Por ejemplo, si tienes una tabla de clientes y quieres ver la lista ordenada por apellido, utilizarías el siguiente código SQL: + + ```sql + SELECT * + FROM customers + ORDER BY last_name; + ``` + + 3. `LIMIT` en SQL se utiliza para especificar el número máximo de filas que se devolverán en el conjunto de resultados. Por ejemplo, si solo quieres ver los primeros 10 clientes en la lista, utilizarías el siguiente código SQL: + + ```sql + SELECT * + FROM customers + LIMIT 10; + ``` + + Al combinar estos comandos, puedes producir consultas sofisticadas que pueden satisfacer una amplia gama de necesidades. + +
+ +
+ +
+ No puedo enviar cambios a mi repositorio. ¿Qué debo hacer? + + + + Si no puedes enviar cambios a tu repositorio, aquí hay algunos pasos que puedes seguir: + + 1. Verifica tu conexión a internet: Asegúrate de que tu conexión a internet sea estable y funcione. + 2. Verifica la URL de tu repositorio: Asegúrate de estar usando la URL correcta de tu repositorio para enviar tus cambios. + 3. Revisa tus credenciales de Git: Asegúrate de que tus credenciales de Git estén actualizadas y correctas. Puedes revisar tus credenciales usando el siguiente comando: + + ```bash + git config --list + ``` + + 4. Actualiza tu repositorio local: Antes de enviar cambios, asegúrate de que tu repositorio local esté actualizado con el repositorio remoto. Puedes actualizar tu repositorio local usando el siguiente comando: + + ```bash + git fetch origin + ``` + + 5. Revisa posibles conflictos: Si hay conflictos entre tu repositorio local y el repositorio remoto, resuélvelos antes de enviar cambios. + 6. Envía cambios: Una vez que hayas resuelto los conflictos y actualizado tu repositorio local, puedes intentar enviar cambios nuevamente usando el siguiente comando: + + ```bash + git push origin + ``` +
\ No newline at end of file