Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: 5378453 en 27 de Octubre 2015, 01:09

Título: SQL qué significa y para qué se usa AS renombrar elementos de consulta
Publicado por: 5378453 en 27 de Octubre 2015, 01:09
Tengo este codigo y quisiera saber como funciona:

Código: [Seleccionar]
$sql = "SELECT
          lib.ID_libro AS lib_id,
          lib.libro AS lib_titulo,
          lib.descripcion AS lib_descrip,
          lib.fec_mod AS lib_fecha_mod,
          cat.ID_categoria AS cat_id,
          cat.categoria AS cat_nom,
          cat_col.color AS cat_color,
          lib_edic.ID_libro_edicion AS edic_id,
          lib_edic.anio_edicion AS edic_anio,
          lib_edic.ultima_ed AS edic_ult,
          edit.editorial AS edit_nom,
          edit.ID_editorial AS edit_id,
          if(lib_fav.activo=1, 'favorito', '' )AS favorito
        FROM libro AS lib
        LEFT JOIN categoria AS cat ON cat.ID_categoria = lib.FK_ID_categoria
        LEFT JOIN categoria_color AS cat_col ON cat_col.FK_ID_categoria = lib.FK_ID_categoria
        LEFT JOIN libro_edicion AS lib_edic ON lib_edic.FK_ID_libro = lib.ID_libro
        LEFT JOIN editorial AS edit ON edit.ID_editorial = lib.FK_ID_editorial
        LEFT JOIN libro_favorito AS lib_fav ON lib_fav.FK_ID_libro = lib.ID_libro AND lib_fav.FK_ID_usuario=$idUsuario
        WHERE ID_libro = $libro_id
        ORDER BY lib_edic.anio_edicion DESC;";

lo unico que se de sql es que Select * from libro es para llamar todos los valores de libro, mi duda es que significa el:

 lib.ID_libro AS lib_id  <-- que significa el lib antes del punto y para que se usa el AS, por que se que ID_libro es para acceder a los valores de la tabla que tenga ID_libro
Título: Re:SQL qué significa y para qué se usa AS renombrar elementos de consulta
Publicado por: Mario R. Rancel en 28 de Octubre 2015, 08:59
Hola,

lib.ID_libro AS lib_id se lee así: "De la tabla lib selecciona el campo ID_libro, y en el contexto de esta expresión sql dicho campo de dicha tabla es renombrado como sinónimo como lib_id"

El AS se usa para crear sinónimos dentro de la expresión sql.

Por ejemplo, supón esta expresión:

Código: [Seleccionar]
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;

Esto da un resultado con tres columnas: OrderID, CustomerName y OrderDate

Se puede reescribir así:

Código: [Seleccionar]
SELECT Orders.OrderID AS ordenes, Customers.CustomerName AS clientes, Orders.OrderDate AS fecha
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;

Esto da un resultado con tres columnas: ordenes, clientes, fecha (es el mismo resultado pero las columnas están renombradas)

El renombramiento se usa por varios motivos.

Saludos
Título: Re:SQL qué significa y para qué se usa AS renombrar elementos de consulta
Publicado por: 5378453 en 28 de Octubre 2015, 23:01
Muchas graciaspor tu ayuda, ya me quedó más claro.