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)