38 - Alias


Problema:

Trabajamos con la tabla "libros" de una librería.

Eliminamos la tabla, si existe:

 drop table if exists libros;

Creamos la tabla:

 create table libros(
  codigo int unsigned auto_increment,
  titulo varchar(20) not null,
  autor varchar(30),
  editorial varchar(15),
  precio decimal(5,2),
  primary key (codigo)
 );

Agregamos algunos registros:

 insert into libros (titulo,autor,editorial,precio)
  values('El aleph','Borges','Planeta',15);
 insert into libros (titulo,autor,editorial,precio)
  values('Martin Fierro','Jose Hernandez','Emece',22.20);
 insert into libros (titulo,autor,editorial,precio)
  values('Antologia poetica','Borges','Planeta',40);
 insert into libros (titulo,autor,editorial,precio)
  values('Aprenda PHP','Mario Molina','Emece',18.20);
 insert into libros (titulo,autor,editorial,precio)
  values('Cervantes y el quijote','Borges','Paidos',36.40);
 insert into libros (titulo,autor,editorial,precio)
  values('Manual de PHP', 'J.C. Paez', 'Paidos',30.80);
 insert into libros (titulo,autor,editorial,precio)
  values('Harry Potter y la piedra filosofal','J.K. Rowling','Paidos',45.00);
 insert into libros (titulo,autor,editorial,precio)
  values('Harry Potter y la camara secreta','J.K. Rowling','Paidos',46.00);
 insert into libros (titulo,autor,editorial,precio)
  values('Alicia en el pais de las maravillas','Lewis Carroll','Paidos',null);

Colocamos un alias "Libros de Borges" para la expresión "count(*)" para tener una salida más clara:

 select count(*) as 'Libros de Borges'
  from libros
  where autor like '%Borges%';

Colocamos el alias "Nombre de editorial" para el campo "editorial":

 select editorial as 'Nombre de editorial'
  from libros
  group by 'Nombre de editorial';

Colocamos un alias para la cantidad calculada con "count()" y la empleamos en la cláusula "order by":

 select editorial, count(*) as cantidad
  from libros
  group by editorial
  order by cantidad;

Colocamos un alias para el cálculo de la cantidad y lo utilizamos con "having":

 select editorial, count(*) as cantidad
  from libros
  group by editorial
  having cantidad>2;



Retornar