Escolar Documentos
Profissional Documentos
Cultura Documentos
OBJETIVOS:
Utilizar el MySQL.
Comprender el Funcionamiento de las Bases de datos.
REQUERIMIENTOS:
PC con Windows.
Appserv.
Mysql-gui-tools
PROCEDIMIENTO
A continuacin se detalla la sintaxis para hacer consultas a varias tablas usando Join.
<select statement>::=
SELECT
[<select option> [<select option>...]]
{* | <select list>}
[
FROM {<table reference> | <join definition>}
[WHERE <expression> [{<operator> <expression>}...]]
[GROUP BY <group by definition>]
[HAVING <expression> [{<operator> <expression>}...]]
[ORDER BY <order by definition>]
[LIMIT [<offset>,] <row count>]
]
<join definition>::=
{<table reference>, <table reference> [{, <table reference>}...]}
| {<table reference> [INNER | CROSS ] JOIN <table reference> [<join condition>]}
| {<table reference> STRAIGHT_JOIN <table reference>}
| {<table reference> LEFT [OUTER] JOIN <table reference> [<join condition>]}
| {<table reference> RIGHT [OUTER] JOIN <table reference> [<join condition>]}
| {<table reference> NATURAL [{LEFT | RIGHT} [OUTER]] JOIN <table reference>}
<table reference>::=
<table name> [[AS] <alias>]
[{USE | IGNORE | FORCE} INDEX <index name> [{, <index name>}...]]
<join condition>::=
ON <expression> [{<operator> <expression>}...]
| USING (<column> [{, <column>}...])
<join condition>::=
ON <expression> [{<operator> <expression>}...]
| USING (<column> [{, <column>}...])
a. Copie y ejecute las siguientes sentencias SQL, e indique los resultados obtenidos:
CREATE TABLE Books
(
BookID SMALLINT NOT NULL PRIMARY KEY,
BookTitle VARCHAR(60) NOT NULL,
Copyright YEAR NOT NULL
)
ENGINE=INNODB;
Resultados:
b. Copie y ejecute las siguientes sentencias SQL, e indique los resultados obtenidos:
CREATE TABLE Authors
(
AuthID SMALLINT NOT NULL PRIMARY KEY,
AuthFN VARCHAR(20),
AuthMN VARCHAR(20),
AuthLN VARCHAR(20)
)
ENGINE=INNODB;
Resultados:
c. Copie y ejecute las siguientes sentencias SQL, e indique los resultados obtenidos:
CREATE TABLE AuthorBook
(
AuthID SMALLINT NOT NULL,
BookID SMALLINT NOT NULL,
PRIMARY KEY (AuthID, BookID),
FOREIGN KEY (AuthID) REFERENCES Authors (AuthID),
FOREIGN KEY (BookID) REFERENCES Books (BookID)
)
ENGINE=INNODB;
Resultados:
CONSULTAS BSICAS
a. Copie y ejecute las siguientes sentencias SQL, e indique los resultados obtenidos:
SELECT BookTitle, Copyright, AuthID FROM Books, AuthorBook ORDER BY BookTitle;
Resultados:
b. Copie y ejecute las siguientes sentencias SQL, e indique los resultados obtenidos:
SELECT BookTitle, Copyright, AuthID
FROM Books AS b, AuthorBook AS ab WHERE b.BookID=ab.BookID ORDER BY BookTitle;
Resultados:
c. Copie y ejecute las siguientes sentencias SQL, e indique los resultados obtenidos:
SELECT BookTitle, Copyright, ab.AuthID
FROM Books AS b, AuthorBook AS ab
WHERE b.BookID=ab.BookID AND Copyright<1980 ORDER BY BookTitle;
Resultados:
d. Copie y ejecute las siguientes sentencias SQL, e indique los resultados obtenidos:
SELECT BookTitle, Copyright, CONCAT_WS(' ', AuthFN, AuthMN, AuthLN) AS Author
FROM Books AS b, AuthorBook AS ab, Authors AS a
WHERE b.BookID=ab.BookID AND ab.AuthID=a.AuthID AND Copyright<1980
ORDER BY BookTitle;
Resultados:
a. Copie y ejecute las siguientes sentencias SQL, e indique los resultados obtenidos:
SELECT BookTitle, AuthID FROM Books, AuthorBook;
Resultados:
b. Copie y ejecute las siguientes sentencias SQL, e indique los resultados obtenidos:
SELECT BookTitle, AuthID FROM Books JOIN AuthorBook;
Resultados:
c. Copie y ejecute las siguientes sentencias SQL, e indique los resultados obtenidos:
SELECT BookTitle, AuthID FROM Books INNER JOIN AuthorBook;
Resultados:
d. Copie y ejecute las siguientes sentencias SQL, e indique los resultados obtenidos:
SELECT BookTitle, AuthID FROM Books CROSS JOIN AuthorBook;
e. Copie y ejecute las siguientes sentencias SQL, e indique los resultados obtenidos:
SELECT BookTitle, Copyright, ab.AuthID
FROM Books AS b JOIN AuthorBook AS ab ON b.BookID=ab.BookID
ORDER BY BookTitle;
Resultados:
f. Copie y ejecute las siguientes sentencias SQL, e indique los resultados obtenidos:
SELECT BookTitle, Copyright, ab.AuthID
FROM Books JOIN AuthorBook AS ab USING (BookID) ORDER BY BookTitle;
Resultados:
g. Copie y ejecute las siguientes sentencias SQL, e indique los resultados obtenidos:
SELECT BookTitle, Copyright, ab.AuthID
FROM Books AS b JOIN AuthorBook AS ab ON b.BookID=ab.BookID
WHERE Copyright<1980 ORDER BY BookTitle;
Resultados:
h. Copie y ejecute las siguientes sentencias SQL, e indique los resultados obtenidos:
SELECT BookTitle, Copyright, CONCAT_WS(' ', AuthFN, AuthMN, AuthLN) AS Author
FROM Books AS b CROSS JOIN AuthorBook AS ab ON b.BookID=ab.BookID
CROSS JOIN Authors AS a ON ab.AuthID=a.AuthID
WHERE Copyright<1980 ORDER BY BookTitle;
Resultados:
i. Copie y ejecute las siguientes sentencias SQL, e indique los resultados obtenidos:
SELECT BookTitle, Copyright, CONCAT_WS(' ', AuthFN, AuthMN, AuthLN) AS Author
FROM Books JOIN AuthorBook USING (BookID) JOIN Authors USING (AuthID)
WHERE Copyright<1980 ORDER BY BookTitle;
Resultados: