ordena en forma ascendente todas las fi las por apellido paterno, y después por nombre de pila. Si varias fi las tienen
el mismo valor de apellido paterno, se devuelven ordenadas por nombre de pila (fi gura 25.17).
Las cláusulas
WHERE
y
ORDERBY
pueden combinarse en una consulta. Por ejemplo, la consulta:
SELECT
isbn, titulo, numeroEdicion, copyright, precio
FROM
titulos
WHERE
titulo
LIKE
'%How to Program'
ORDER BY
titulo
ASC
devuelve el
isbn
,
titulo
,
numeroEdicion
,
copyright
y
precio
de cada libro en la tabla
titulos
que tenga
un
titulo
que termine con
"How
to
Program"
y los ordena en forma ascendente, por
titulo
. El resultado de la
consulta se muestra en la fi gura 25.18.
Figura 25.17
| Datos de ejemplo de autores de la tabla
autores
ordenados de manera
ascendente, por las columnas
apellidoPaterno
y
nombrePila
.
idAutor
nombrePila
apellidoPaterno
4
David
Choff ner
1
Harvey
Deitel
2
Paul
Deitel
3
Andrew
Goldberg
Figura 25.18
| Ejemplos de libros de la tabla
titulos
cuyos títulos terminan con
HowtoProgram
,
y están ordenados en forma ascendente por medio de la columna
titulo
.
isbn
titulo
numeroEdicion
copyright
0132404168
C How to Program
5
2007
0131857576
C++ How to Program
5
2005
0131450913
Internet & World Wide Web How to Program
3
2004
0132222205
Java How to Program
7
2007
0131869000
Visual Basic 2005 How to Program
3
2006
013152539
Visual C# How to Program
2
2006
25.4.4 Cómo fusionar datos de varias tablas:
INNERJOIN
Los diseñadores de bases de datos a menudo dividen los datos en tablas separadas para asegurarse de no guardar
información redundante. Por ejemplo, la base de datos
libros
tiene las tablas
autores
y
titulos
. Utilizamos
una tabla
isbnAutor
para almacenar los datos de la relación entre los autores y sus correspondientes títulos. Si
no separáramos esta información en tablas individuales, tendríamos que incluir la información del autor con cada
entrada en la tabla
titulos
. Esto implicaría almacenar información duplicada sobre los autores en la base de
datos, para quienes hayan escrito varios libros. A menudo es necesario fusionar datos de varias tablas en un solo
resultado. Este proceso, que se le conoce como unir
las tablas, se especifi ca mediante un operador
INNERJOIN
en
la consulta. Un operador
INNERJOIN
fusiona las fi las de dos tablas al relacionar los valores en columnas que sean
comunes para las dos tablas. La forma básica de un
INNERJOIN
es:
SELECT
nombreDeColumna1
,
nombreDeColumna2
,…
FROM
tabla1
25.4 SQL
1051
25_MAQ_CAP_25_DEITEL.indd1051
4/19/081:35:45AM