es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Equivalente de consulta anidada a inner join.

Estoy intentando comprender mejor las consultas anidadas y me preguntaba qué me daría el mismo resultado que esto:


SELECT PLAYERS.PLAYER_TAG, PLAYERS.POSITION, PLAYERS.TOTAL_KILLS, TEAMS.TEAM_NAMES, TEAMS.GAMES_PLAYED, TEAMS.WINS
FROM PLAYERS
INNER JOIN TEAMS ON TEAMS.TEAM_NAMES = PLAYERS.TEAM
ORDER BY TEAM_NAMES ASC;

pero usando una consulta anidada en su lugar. Gracias por tu ayuda.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para lograr el mismo resultado utilizando una consulta anidada, podemos reescribir la consulta SQL anterior de la siguiente manera:

    SELECT PLAYER_TAG, POSITION, TOTAL_KILLS, TEAM_NAMES, GAMES_PLAYED, WINS
    FROM (
        SELECT PLAYERS.PLAYER_TAG, PLAYERS.POSITION, PLAYERS.TOTAL_KILLS, TEAMS.TEAM_NAMES, TEAMS.GAMES_PLAYED, TEAMS.WINS
        FROM PLAYERS
        INNER JOIN TEAMS ON TEAMS.TEAM_NAMES = PLAYERS.TEAM
        ORDER BY TEAM_NAMES ASC
    ) AS T;
    

    Aquí, hemos utilizado la consulta interna para unir las tablas PLAYERS y TEAMS, y luego hemos seleccionado las columnas requeridas de ambas tablas. La consulta externa selecciona todas las columnas de la consulta interna y le da un alias “T”. Esta consulta le dará el mismo resultado que la consulta anterior, pero utiliza un enfoque de consulta anidada.

Comments are closed.