consultas

Para realizar cualquier consulta primero debemos visualizar la base de datos y la estructura de las tablas que la componen.

Mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| cdcol              |

| libreria           |

| mysql              |

| performance_schema |

| phpmyadmin         |

| taller2            |

| test               |

| webauth            |

+--------------------+

9 rows in set (0.06 sec)

 

Mysql> use libreria;

Database changed

mysql> show tables;

+--------------------+

| Tables_in_libreria |

+--------------------+

| asignatura         |

| autor              |

| editorial          |

| liautedi           |

| libro              |

+--------------------+

5 rows in set (0.00 sec)

 

Mysql> describe asignatura;

+-----------+----------+------+-----+---------+-------+

| Field     | Type     | Null | Key | Default | Extra |

+-----------+----------+------+-----+---------+-------+

| codigomat | char(3)  | NO   | PRI | NULL    |       |

| nombre    | char(20) | NO   |     | NULL    |       |

+-----------+----------+------+-----+---------+-------+

2 rows in set (0.00 sec)

 

Mysql> describe autor;

+----------+----------+------+-----+---------+-------+

| Field    | Type     | Null | Key | Default | Extra |

+----------+----------+------+-----+---------+-------+

| codautor | char(25) | NO   | PRI | NULL    |       |

| nombre   | char(25) | NO   |     | NULL    |       |

+----------+----------+------+-----+---------+-------+

2 rows in set (0.00 sec)

 

Mysql> describe editorial;

+---------+----------+------+-----+---------+-------+

| Field   | Type     | Null | Key | Default | Extra |

+---------+----------+------+-----+---------+-------+

| codedit | char(3)  | NO   | PRI | NULL    |       |

| nombre  | char(15) | NO   |     | NULL    |       |

+---------+----------+------+-----+---------+-------+

2 rows in set (0.00 sec)

 

Mysql> describe liautedi;

+----------+----------+------+-----+---------+-------+

| Field    | Type     | Null | Key | Default | Extra |

+----------+----------+------+-----+---------+-------+

| idlibro  | char(10) | NO   | MUL | NULL    |       |

| codautor | char(3)  | NO   | MUL | NULL    |       |

| codedit  | char(3)  | NO   | MUL | NULL    |       |

+----------+----------+------+-----+---------+-------+

3 rows in set (0.00 sec)

 

Mysql> describe libro;

+-------------+----------+------+-----+---------+-------+

| Field       | Type     | Null | Key | Default | Extra |

+-------------+----------+------+-----+---------+-------+

| idlibro     | char(10) | NO   | PRI | NULL    |       |

| descripcion | char(20) | NO   |     | NULL    |       |

| nropagina   | int(3)   | NO   |     | NULL    |       |

| precio      | int(10)  | NO   |     | NULL    |       |

| codigomat   | char(3)  | NO   | MUL | NULL    |       |

+-------------+----------+------+-----+---------+-------+

5 rows in set (0.00 sec)

 

Mysql> select *from autor;

+----------+----------------------+

| codautor | nombre               |

+----------+----------------------+

| A01      | Luis Joyanes         |

| A02      | Jorge Vasquez Posada |

| A03      | Jhon Soars           |

| A04      | Riaz Khadem          |

| A05      | Robert Lorber        |

| A06      | Mario Dream          |

+----------+----------------------+

6 rows in set (0.00 sec)

 

Mysql> select *from asignatura;

+-----------+---------------------+

| codigomat | nombre              |

+-----------+---------------------+

| M01       | Calculo             |

| M02       | Matematicas         |

| M03       | Estructura de Datos |

| M04       | Ingles              |

| M05       | Sistemas de Inf.    |

| M06       | Contabilidad        |

| M07       | Redes               |

| M08       | Diagramacion        |

| M09       | Bases de Datos      |

+-----------+---------------------+

9 rows in set (0.00 sec)

 

Mysql> select *from editorial;

+---------+--------------+

| codedit | nombre       |

+---------+--------------+

| E01     | Oveja Negra  |

| E02     | Norma        |

| E03     | Mc Graw Hill |

+---------+--------------+

3 rows in set (0.00 sec)

 

Mysql> select *from libro;

+---------+---------------------+-----------+--------+-----------+

| idlibro | descripcion         | nropagina | precio | codigomat |

+---------+---------------------+-----------+--------+-----------+

| L01     | Calculo II          |       120 |  55000 | M01       |

| L02     | BD II               |       150 |  65000 | M09       |

| L03     | Estructara de Datos |       180 |  85000 | M03       |

| L04     | Ingles              |       280 | 105000 | M04       |

| L05     | Admon en una Pagina |        70 |   7500 | M05       |

| L06     | Contabilidad I      |       170 |  27500 | M06       |

| L07     | Redes               |       370 |  32500 | M07       |

| L08     | Diagramacion        |        85 |  45000 | M08       |

+---------+---------------------+-----------+--------+-----------+

8 rows in set (0.00 sec)

 

Mysql> select *from liautedi;

+---------+----------+---------+

| idlibro | codautor | codedit |

+---------+----------+---------+

| L02     | A01      | E01     |

| L02     | A05      | E03     |

| L06     | A02      | E02     |

| L07     | A05      | E03     |

| L04     | A04      | E01     |

| L04     | A04      | E02     |

| L04     | A04      | E03     |

+---------+----------+---------+

7 rows in set (0.00 sec)

CONSULTA A: consulta los libros cuyo autor es Riaz Khadem.

Analisis:

Que deseo mostrar:

Libro.idlibro, Libro.descripcion, autor.codautor, autor.nombre

Que tablas se ven afectadas:

Libro, autor, liautedi

Condiciones:

Autor.nombre = Riaz khaden

Como se relacionan:

Autor.codautor = liautedi.codautor /autor.codautor=liautedi.codautor

Comando a utilizar:

Select

Mysql> select libro.idlibro, libro.descripcion, autor.nombre, autor.codautor from libro, autor, liautedi where libro.idlibro=liautedi.idlibro and autor.codautor=liautedi.codautor and autor.nombre='Riaz Khadem';

+---------+-------------+-------------+----------+

| idlibro | descripcion | nombre      | codautor |

+---------+-------------+-------------+----------+

| L04     | Ingles      | Riaz Khadem | A04      |

| L04     | Ingles      | Riaz Khadem | A04      |

| L04     | Ingles      | Riaz Khadem | A04      |

+---------+-------------+-------------+----------+

3 rows in set (0.00 sec)

Consulta exportada a excel:

Mysql> select libro.idlibro, libro.descripcion, autor.nombre, autor.codautor from libro, autor, liautedi where libro.idlibro=liautedi.idlibro and autor.codautor=liautedi.codautor and autor.nombre='Riaz Khadem' into outfile ‘D: /consultaA.xls’;

 

 

 

 

CONSULTA B: consultar las editoriales  que tienen el libro del autor Robert Lorber

Analisis:

Que deseo mostrar:

Editorial.codedit, editorial.nombre, autor.codautor, autor.nombre

Que tablas se ven afectadas:

Editorial, autor, liautedi

Condiciones:

Autor.nombre=Robert Lorber

Como se relacionan:

Editorial.codedit=liautedi.codedit/autor.codautor=liautedi.codautor

Comando a utilizar:

Select

 

Mysql> select editorial.codedit, editorial.nombre, autor.codautor, autor.nombre from editorial, autor, liautedi where editorial.codedit=liautedi.codedit and autor.codautor=liautedi.codautor and autor.nombre='Robert Lorber';

+---------+--------------+----------+---------------+

| codedit | nombre       | codautor | nombre        |

+---------+--------------+----------+---------------+

| E03     | Mc Graw Hill | A05      | Robert Lorber |

| E03     | Mc Graw Hill | A05      | Robert Lorber |

+---------+--------------+----------+---------------+

2 rows in set (0.00 sec)

Consulta exportada a excel:

Mysql> select editorial.codedit, editorial.nombre, autor.codautor, autor.nombre from editorial, autor, liautedi where editorial.codedit=liautedi.codedit and autor.codautor=liautedi.codautor and autor.nombre='Robert Lorber' into outfile‘d: /consultaB.xls;

 

CONSULTA C: consultar el precio de los libros de redes y BD II

Analisis:

Que deseo mostrar:

Precio, descripción

Que tablas se ven afectadas:

Libro

Condiciones:

Descripción=redes  o BD II

Como se relacionan:

 Libro

Comando a utilizar:

Select

 

Mysql> select precio, descripcion from libro where descripcion='redes' or descripcion='BD II';

+--------+-------------+

| precio | descripcion |

+--------+-------------+

|  65000 | BD II       |

|  32500 | Redes       |

+--------+-------------+

2 rows in set (0.00 sec)

Consulta exportada a Excel:

Mysql> select precio, descripcion from libro where descripcion='redes' or descripcion='BD II' into outfile 'd: /consultaC.xls';

Query OK, 2 rows affected (0.05 sec)

 

CONSULTA D: consultar los libros que pertenezcan a la materia contabilidad, nombre del autor y las editoriales que tiene el libro.

Analisis:

Que deseo mostrar:

Libro.idlibro, libro.descripcion, asignatura.codigomat, Asignatura.nombre, editorial.codedit, editorial.nombre

Que tablas se ven afectadas:

Asignatura, liautedi, editorial

Condiciones:

asignatura.nombre=contabilidad

Como se relacionan:

 Libro.idlibro=liautedi.idlibro /asignatura.codigomat=libro.codigomat editorial.codedit=liautedi.codedit

Comando a utilizar:

Select

 

Mysql> select libro.idlibro, libro.descripcion, asignatura.codigomat, asignatura.nombre, editorial.codedit, editorial.nombre from libro, asignatura, liautedi, editorial where libro.idlibro=liautedi.idlibro and asignatura.codigomat=libro.codigomat and editorial.codedit=liautedi.codedit and asignatura.nombre='contabilidad';

+---------+----------------+-----------+--------------+---------+--------+

| idlibro | descripcion    | codigomat | nombre       | codedit | nombre |

+---------+----------------+-----------+--------------+---------+--------+

| L06     | Contabilidad I | M06       | Contabilidad | E02     | Norma  |

+---------+----------------+-----------+--------------+---------+--------+

1 row in set (0.00 sec)

Consulta exportada a excel:

Mysql> select libro.idlibro, libro.descripcion, asignatura.codigomat, asignatura.nombre, editorial.codedit, editorial.nombre from libro, asignatura, liautedi, editorial where libro.idlibro=liautedi.idlibro and asignatura.codigomat=libro.codigomat and editorial.codedit=liautedi.codedit and asignatura.nombre='contabilidad' into outfile ‘D: /consultaD.xls’;

 

CONSULTA E: sumar los precios de los libros cuyo número de páginas sea menor de 180.

Análisis

Que deseo mostrar:

Suma de precio

Que tablas se ven afectadas:

Libro

Condiciones:

Número de páginas menor de 180

Como se relacionan:

Libro

Comando:

Select

Mysql> select sum (precio) from libro where nropagina<180;

+-------------+

| sum(precio) |

+-------------+

|      200000 |

+-------------+

1 row in set (0.00 sec)

Consulta exportada a excel:

mysql> select sum(precio) from libro where nropagina<180 into outfile 'd:/consultaE.xls';

Query OK, 1 row affected (0.00 sec)

 

CONSULTA F: consultar el nombre de los libros que estén en la editorial Mc Graw Hill

 

Análisis

Que deseo mostrar:

Libro.idlibro,libro.descripcion, editorial.codedit,editorial.nombre

Que tablas se ven afectadas:

Libro,editorial,liautedi

Condiciones:

Editorial.nombre=Mc Graw Hill

Como se relacionan:

libro.idlibro=liautedi.idlibro / editorial.codedit=liautedi.codedit

Comando:

Select

 

Mysql> select libro.idlibro, libro.descripcion, editorial.codedit, editorial.nombre from libro, editorial, liautedi where libro.idlibro=liautedi.idlibro and editorial.codedit=liautedi.codedit and editorial.nombre='Mc graw hill';

+---------+-------------+---------+--------------+

| idlibro | descripcion | codedit | nombre       |

+---------+-------------+---------+--------------+

| L02     | BD II       | E03     | Mc Graw Hill |

| L07     | Redes       | E03     | Mc Graw Hill |

| L04     | Ingles      | E03     | Mc Graw Hill |

+---------+-------------+---------+--------------+

3 rows in set (0.00 sec)

Consulta exportada a excel:

Mysql> select libro.idlibro,libro.descripcion,editorial.codedit,editorial.nombre from libro,editorial,liautedi where libro.idlibro=liautedi.idlibro and editorial.codedit=liautedi.codedit and editorial.nombre='Mc graw hill' into outfile ‘d:/consultaF.xls’;

 

 

CONSULTA G: consultar los libros cuyo nombre comience por la letra E o termine en A

Análisis

Que deseo mostrar:

Descripción

Que tablas se ven afectadas:

Libro

Condiciones:

Inicio=E  termine =A

Como se relacionan:

Libro

Comando:

Select

 

Mysql> select *from libro where descripcion like '%e' or descripcion like 'a%';

+---------+---------------------+-----------+--------+-----------+

| idlibro | descripcion         | nropagina | precio | codigomat |

+---------+---------------------+-----------+--------+-----------+

| L05     | Admon en una Pagina |        70 |   7500 | M05       |

+---------+---------------------+-----------+--------+-----------+

1 row in set (0.00 sec)

Consulta exportada a excel:

Mysql> select *from libro where descripcion like '%e' or descripcion like 'a%' into outfile 'd:/consultaG.xls';

Query OK, 1 row affected (0.02 sec)

 

CONSULTA H: actualizar el nombre del libro calculo II por Calculo diferencial

Análisis

Que deseo mostrar:

Libro.descripcion

Que tablas se ven afectadas:

Libro

Condiciones:

Id libro=L01

Como se relacionan:

Comando:

Update

Mysql> update libro set descripcion='Calculo Diferencial' where idlibro='L01';

Query OK, 1 row affected (1.23 sec)

Rows matched: 1  Changed: 1  Warnings: 0

 

Mysql> select *from libro;

+---------+---------------------+-----------+--------+-----------+

| idlibro | descripcion         | nropagina | precio | codigomat |

+---------+---------------------+-----------+--------+-----------+

| L01     | Calculo Diferencial |       120 |  55000 | M01       |

| L02     | BD II               |       150 |  65000 | M09       |

| L03     | Estructara de Datos |       180 |  85000 | M03       |

| L04     | Ingles              |       280 | 105000 | M04       |

| L05     | Admon en una Pagina |        70 |   7500 | M05       |

| L06     | Contabilidad I      |       170 |  27500 | M06       |

| L07     | Redes               |       370 |  32500 | M07       |

| L08     | Diagramacion        |        85 |  45000 | M08       |

+---------+---------------------+-----------+--------+-----------+

8 rows in set (0.00 sec)

 

CONSULTA I: muestre los registros de los libros de diagramación , redes y administración en una página.

Análisis

Que deseo mostrar:

Libro.idlibro, libro.descripcion,autor.codautor,autor.nombre

Que tablas se ven afectadas:

libro

Condiciones:

Como se relacionan:

Comando:

select

Mysql> select *from libro where  idlibro in ('L05','L07','L08');

+---------+---------------------+-----------+--------+-----------+

| idlibro | descripcion         | nropagina | precio | codigomat |

+---------+---------------------+-----------+--------+-----------+

| L05     | Admon en una Pagina |        70 |   7500 | M05       |

| L07     | Redes               |       370 |  32500 | M07       |

| L08     | Diagramacion        |        85 |  45000 | M08       |

+---------+---------------------+-----------+--------+-----------+

3 rows in set (0.34 sec)

Consulta exportada a excel:

Mysql> select *from libro where  idlibro in ('L05','L07','L08')into outfile 'd:/consultaI.xls';

Query OK, 3 rows affected (0.00 sec)

 

CONSULTA J: consultar el libro que tiene el menor número de páginas.

Análisis

Que deseo mostrar:

Número de páginas

Que tablas se ven afectadas:

Libro

Condiciones:

<nropagina

Como se relacionan:

Comando:

select

Mysql> select min(nropagina) from libro;

+----------------+

| min(nropagina) |

+----------------+

|             70 |

+----------------+

1 row in set (1.03 sec)

Consulta exportada a excel:

mysql> select min(nropagina) from libro into outfile 'd:/consultaJ.xls';

Query OK, 1 row affected (0.00 sec)

 

CONSULTA k: consultar cual es el libro que tiene mayor precio.

Análisis

Que deseo mostrar:

precio

Que tablas se ven afectadas:

Libro

Condiciones:

> precio

Como se relacionan:

Comando:

select

mysql> select max(precio) from libro;

+-------------+

| max(precio) |

+-------------+

|      105000 |

+-------------+

1 row in set (0.00 sec)

Consulta exportada a excel:

Mysql> select max(precio) from libro into outfile 'D:/consultaK.xls';

Query OK, 1 row affected (0.05 sec)

 

CONSULTA L: consultar el promedio del precio de los libros.

Análisis

Que deseo mostrar:

 Promedio precio

Que tablas se ven afectadas:

Libro

Condiciones:

Como se relacionan:

Comando:

select

Mysql> select avg(precio) from libro;

+-------------+

| avg(precio) |

+-------------+

|  52812.5000 |

+-------------+

1 row in set (0.01 sec)

Mysql> select avg(precio) from libro into outfile 'D:/consultaL.xls';

Query OK, 1 row affected (0.00 sec)

 

CONSULTA M: modificar en la tabla editorial el campo nombre por descripcion.

Análisis

Que deseo mostrar:

Editorial.descripcion

Que tablas se ven afectadas:

editorial

Condiciones:

Como se relacionan:

Comando:

change

 

Mysql> alter table editorial change nombre Descripcion char(15)not null;

Query OK, 0 rows affected (0.27 sec)

Records: 0  Duplicates: 0  Warnings: 0

 

mysql> describe editorial;

+-------------+----------+------+-----+---------+-------+

| Field       | Type     | Null | Key | Default | Extra |

+-------------+----------+------+-----+---------+-------+

| codedit     | char(3)  | NO   | PRI | NULL    |       |

| Descripcion | char(15) | NO   |     | NULL    |       |

+-------------+----------+------+-----+---------+-------+

2 rows in set (0.02 sec)

 

 

CONSULTA N: consultar los libros que estan en la editorial  oveja negra.

Análisis

Que deseo mostrar:

Libro.idlibro,libro.descripcion,editorial.codedit,editorial.descripcion,

Que tablas se ven afectadas:

Libro,editorial.liautedi

Condiciones:

editorial.descripcion=oveja negra

Como se relacionan:

libro.idlibro=liautedi.idlibro/editorial.codedit=liautedi.codedit

Comando:

select

Mysql> select libro.idlibro,libro.descripcion,editorial.codedit,editorial.descripcion from libro, editorial,liautedi where libro.idlibro=liautedi.idlibro and editorial.codedit=liautedi.codedit and editorial.descripcion='oveja negra';

+---------+-------------+---------+-------------+

| idlibro | descripcion | codedit | descripcion |

+---------+-------------+---------+-------------+

| L02     | BD II       | E01     | Oveja Negra |

| L04     | Ingles      | E01     | Oveja Negra |

+---------+-------------+---------+-------------+

 

Consulta exportada a excel:

Mysql> select libro.idlibro,libro.descripcion,editorial.codedit,editorial.descripcion from libro, editorial,liautedi where libro.idlibro=liautedi.idlibro and editorial.codedit=liautedi.codedit and editorial.descripcion='oveja negra' into outfile 'd:/consultaN.xls';

Query OK, 2 rows affected (0.00 sec)

 

CONSULTA Ñ: consultar autor(es)  del libro base de datos II y que editorial lo publican.

Análisis

Que deseo mostrar:

Libro.idlibro,libro.descripcion,autor.codautor,autor.nombre,editorial.codedit,editorial.descripcion.

Que tablas se ven afectadas:

Libro,autor,editorial,liautedi

Condiciones:

libro.descripcion=BD II

Como se relacionan:

libro.idlibro=liautedi.idlibro /autor.codautor=liautedi.codautor /editorial.codedit=liautedi.codedit

Comando:

select

Mysql> select libro.idlibro,libro.descripcion,autor.codautor,autor.nombre,editorial.codedit,editorial.descripcion from libro,autor,editorial,liautedi where libro.idlibro=liautedi.idlibro and autor.codautor=liautedi.codautor and editorial.codedit=liautedi.codedit and libro.descripcion='BD II';

+---------+-------------+----------+---------------+---------+--------------+

| idlibro | descripcion | codautor | nombre        | codedit | descripcion  |

+---------+-------------+----------+---------------+---------+--------------+

| L02     | BD II       | A01      | Luis Joyanes  | E01     | Oveja Negra  |

| L02     | BD II       | A05      | Robert Lorber | E03     | Mc Graw Hill |

+---------+-------------+----------+---------------+---------+--------------+

2 rows in set (0.00 sec)

Consulta exportada a excel:

Mysql> select libro.idlibro,libro.descripcion,autor.codautor,autor.nombre,editorial.codedit,editorial.descripcion from libro,autor,editorial,liautedi where libro.idlibro=liautedi.idlibro and autor.codautor=liautedi.codautor and editorial.codedit=liautedi.codedit and libro.descripcion='BD II' into outfile 'D:/consulta¥.xls';

Query OK, 2 rows affected (0.00 sec)