<jupyter_start><jupyter_text>![imagen](../../imagenes/ejercicios.png) Ejercicio SQLPara este ejercicio usaremos una base de datos del FIFA 20. **Asegúrate que tienes el CSV "FIFA20.csv" en la misma carpeta donde está este Notebook**. Realiza los siguientes apartados:1. Obtén una tabla con todos los campos2. Obtén una tabla con los campos "short_name", "club", "team_position"3. Obtén la misma tabla que el apartado anterior, pero en este caso renombrando los campos al castellano.4. ¿Cuáles son todos los "team_position" diferentes?5. ¿Cuáles son todos los "team_position" y "preferred_foot" diferentes?6. ¿Cuáles son los jugadores diestros? ("preferred_foot" = "Right")7. Obtén una tabla con los jugadores influencers8. Obtén una tabla con los extremos izquierda ('team_position' = 'LW') influencers9. Obtén una tabla con los jugadores cuyo nombre empieze por "W" y tenga una puntuación ('overall') mayor de 80 puntos.  1. ¿Y si ponemos el límite de la puntuación en mayor de 90 puntos?10. Saca una tabla con los jugadores del Real Madrid, que NO sean diestros y tengan un potencial superior a 8511. ¿Cuál es el jugador con la puntuación ('overall') más alta?12. ¿Cuál es la media del valor (value_eur) de todos los jugadores, en millones de euros, sabiendo que las unidades del valor de la tabla son euros?13. ¿Cuál es la media del salario por equipo? Ordena el resultado de mayor a menor salario14. Calcula la máxima puntuación ('overall') por club. Ordena el resultado de menor a mayor puntuación**NOTA**: se recomienda añadir un `LIMIT 5` en la mayoría de apartados para evitar grandes outputs de las queries.<jupyter_code># Importamos paquetes
import pandas as pd
import sqlite3
cnx = sqlite3.connect(':memory:')

# Importamos datos de un CSV
df = pd.read_csv('FIFA20.csv')
df.head()
# Pasamos el DataFrame de Pandas a SQL
df.to_sql('fifa20', con=cnx, if_exists='replace', index=False)

# Definimos la función para hacer queries.
def sql_query(query):
    return pd.read_sql(query, cnx)
# 1. Ejemplo estructura para formar las queries en este entorno. Solo dbeemos fijarnos en entender SQL de momento
# El ejemplo obtiene la cuenta de todos los registros de la tabla
query = '''
SELECT COUNT(1) FROM fifa20
'''

sql_query(query)
# 1. Obten una tabla con todos los campos
query = '''

'''

sql_query(query)
# 2. Obtén una tabla con los campos "short_name", "club", "team_position"
query = '''

'''

sql_query(query)
# 3. Obtén la misma tabla que el apartado anterior, pero en este caso renombrando los campos al castellano.
query = '''

'''

sql_query(query)
# 4. ¿Cuáles son todos los "team_position" diferentes?
query = '''

'''

sql_query(query)
# 5. ¿Cuáles son todos los "team_position" y "preferred_foot" diferentes?
query = '''

'''

sql_query(query)
# 6. ¿Cuáles son los jugadores diestros? ("preferred_foot" = "Right")
query = '''

'''

sql_query(query)
# 7. Obtén una tabla con los jugadores influencers
query = '''

'''

sql_query(query)
query = '''

'''

sql_query(query)
# 8. Obtén una tabla con los extremos izquierda ('team_position' = 'LW') influencers
query = '''

'''

sql_query(query)
# 9. Obtén una tabla con los jugadores cuyo nombre empieze por "W" y tenga una puntuación ('overall') mayor de 80 puntos
query = '''

'''

sql_query(query)
# 9. ¿Y si en lugar de 80, buscamos que la puntuación sea mayor de 90?
query = '''

'''

sql_query(query)<jupyter_output><empty_output><jupyter_text>Correcto. Ninguno lo cumple<jupyter_code># 10. Saca una tabla con los jugadores del Real Madrid, que NO sean diestros y tengan un potencial superior a 85
query = '''

'''

sql_query(query)
# 11. ¿Cuál es el jugador con la puntuación ('overall') más alta?
query = '''

'''

sql_query(query)
# 12. ¿Cuál es la media del valor (value_eur) de todos los jugadores, en millones de euros, sabiendo que las unidades del valor de la tabla son euros?
query = '''

'''

sql_query(query)
# 13. ¿Cuál es la media del salario por equipo? Ordena el resultado de mayor a menor salario
query = '''

'''

sql_query(query)
# 14. Calcula la máxima puntuación ('overall') por club. Ordena el resultado de menor a mayor puntuación
query = '''

'''

sql_query(query)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.10193363571258057, 'fraction_numerical': 0.016471711625686322, 'mean_word_length': 4.724043715846994, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '2', 'dir': 'jupyter-structured-clean-dedup', 'id': '195744', 'license': 'MIT', 'n_tokens_mistral': 1524, 'n_tokens_neox': 1455, 'n_words': 559, 'path': 'Bloque 1 - Ramp-Up/07_SQL/03_SQL_Ejercicios.ipynb', 'repo_name': 'JuanDG5/bootcamp_thebridge_PTSep20', 'size': '4189'}