Explicación de esta sintaxis de programación

Hace poco que he empezado con esto de la programación y me ha surgido una duda respecto a una sintaxis que llama a una base de datos. Pongo el código completo, aunque mi duda es la primera frase.

$query = 'SELECT u.*, a.profile_id '
        . ' FROM ' . $db->quoteName('#__community_users') . ' as a '
        . ' LEFT JOIN ' . $db->quoteName('#__users') . ' u '
        . ' ON u.' . $db->quoteName('id') . '=a.' . $db->quoteName('userid')
        . ' WHERE ' . $db->quoteName('block') . '=' . $db->Quote(0) . ' AND '
        . $db->quoteName('profile_id') . '!=' . $db->Quote(1) . ' '
        . $filterquery
        . ' ORDER BY ' . $db->quoteName('registerDate') . ' '
        . ' DESC LIMIT ' . $limit;

Esta es la frase de mi duda. Lo que quiero saber es el significado de SELECT u. (no se para que es u.) y de a.profile_id (no se para que es a.).

1 Respuesta

Respuesta
1

En lenguaje SQL, se puede nombrar campos relativos a una tabla.. por ej:

"select alumnos.NOMBRE from alumnos" .

Obviamente en ese ejemplo no tiene sentido. Pero cuando armás consultas complejas, conviene referenciar la tabla a la cual pertenece el campo.
En el caso de una abreviatura, como por ej: "select a.NOMBRE from alumnos" .. es necesario aclarar de la siguiente forma: "select a.NOMBRE from alumnos as a"

Fijate que en la consulta de tu ejemplo hace referencia a un objeto php para nombrar la tabla y luego usa "as a" .. etc.. parece una consulta compleja.. no me detuve a analizarla.. sólo me limito a explicarte la cuestion del a.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas