martes, 6 de septiembre de 2011

Ejercicios - Tutorial SQL

En la sesión del día de hoy en el Taller de POO vimos un pequeño tutorial de SQL, hecho por la Dra. Sara Elena Garza Villarreal, en el cual aprendimos el esqueleto básico de una consulta, así como la consulta a múltiples tablas. Para ver los ejemplos y ejercicios, y verificar que estuvieran correctos, consultamos la siguiente página: http://www.w3schools.com/sql/sql_tryit.asp 
Ahora veremos algo de lo que venia en el tutorial.


Esqueleto básico de Consulta:


SELECT [campos]
FROM [tablas]
WHERE [condiciones]



  • La sentencia SELECT se utiliza para seleccionar datos de una base de datos.
  • La sentencia FROM (desde) hace referencia a la tabla que vamos a usar.
  • La sentencia WHERE se utiliza para  sólo aquellos registros que cumplan un criterio determinado.


Ejercicios (parte 1).



Ejercicio A.

Genera el siguiente resultado:






SELECT City, CompanyName

FROM Customers
WHERE City LIKE 'Ber%'

El operador LIKE se utiliza en una sentencia WHERE para buscar un patrón específico en una columna.

Los datos a utilizar en este ejercicio son los de City y los de CompanyName, la tabla a utilizar es la de Customers, y el criterio que quiero que se cumpla, es que me muestre únicamente las ciudades que inicien con "Ber".


Ejercicio B.
Genera el siguiente resultado:

SELECT CompanyName, ContactName
FROM Customers
ORDER BY CompanyName



La sentencia ORDER BY, se utiliza para ordenar el conjunto de resultados de una columna especificada. La sentencia por defecto ordena los resultados de manera ascendente, si se desea ordenar los resultados de manera descendente se debe de poner la palabra DESC.


Los datos a utilizar en este ejercicio son los de CompanyName y ContactName, al tabla a usar es la de Customersy mediante la sentencia ORDER BY los datos de CompanyName aparecerán ordenados de manera ascendente.



Ejercicio C.
Genera el siguiente resultado:


SELECT COUNT (City)

FROM Customers
WHERE City  LIKE 'p%'

La función COUNT() devuelve el número de filas que coincida con un criterio en especifico. 

Los datos a utiliza en este ejercicio son los de City, la tabla a utilizar es la de Customers, el  criterio que quiero que se cumpla es que únicamente me muestre las ciudades que inicien con "p"


Ejercicio D.
Prueba las consultas que vienen en la página de prueba. En este caso ya viene escrito el esqueleto de consulta, lo único que haremos es que nos muestre la pantalla con el resultado.




SELECT *

FROM customers



El asterisco significa que escogerá todos los campos, por lo tanto nos devolverá toda la tabla como resultado.



SELECT CompanyName, ContactName

FROM customers



Aquí los datos que nos mostrará son los de CompanyName y los de ContactName.





SELECT *

FROM customers
WHERE companyname LIKE 'a%'

En este caso seleccionará todos los campos, utilizara la tabla Customers, el criterio que debe de cumplir es que me muestre los nombres de todas las compañías que inicien con "a".

SELECT CompanyName, ContactName
FROM customers
WHERE CompanyName > 'a'


En este ejemplo, los datos que vamos a utilizar son los de CompanyName y ContactName, de la tabla de Customers, pero únicamente se mostraran los resultados de la letra "a" hacia arriba.

SELECT CompanyName, ContactName
FROM customers
WHERE CompanyName > 'g'
AND ContactName > 'g'





Este ejercicio es parecido al anterior, únicamente que aquí como resultado nos mostrara los nombres de la compañía de la letra "g" hacia arriba, y el operador AND indica que esa condición se cumplirá siempre y cuando la primera condición se cumpla, en este caso la segunda condición es que nos muestre el nombre de contacto de la letra "g" hacia arriba.


Ejercicios (parte 2).


Ejercicio A.

Genera el siguiente resultado:





SELECT Materia , Count (Materias.Clave)

FROM Materias, Calificaciones
WHERE Materias.Clave = Calificaciones.Clave
Group BY Materia
LIMIT 0,30
ORDER BY  Count (Materias.Clave) DESC

Ejercicio B.
Genera el siguiente resultado:


SELECT Materia , Count (Materias.Calificacion)
FROM Materias, Calificaciones
WHERE Materias.Clave = Calificaciones.Clave
ORDER BY  Count (Materias.Calificaciones) 
Group BY Materia
LIMIT 0,30



Referencias:
http://www.w3schools.com/sql/sql_quickref.asp
http://www.canalvisualbasic.net/manual/sql/
https://sites.google.com/site/saraegarza/poo

No hay comentarios:

Publicar un comentario