Profesor Romeo
SQL
Ejemplos de Consultas SQL
Sintaxis de SQL
Tablas
Una base de datos contienen uno o más tablas. Cada tabla está identificada por un nombre
(ejemplo Clientes o Ordenes). Las tablas contienen registros (filas) con datos
Sentencias SQL
Muchas de las acciones que necesitas realizar en una base de datos se hacen con sentencias
SQL
Seleccionamos todos los registros de la tabla
Las siguiente sentencia seleccionara todos los registros de la tabla "Personas" :
SELECT * FROM Personas
Abajo esta un ejemplo del resultado de la sentencia a la tabla llamada "Personas":
Punto y coma despues de las sentencias SQL
Algunos sistemas de bases de datos requieren un punto y coma al final de cada sentencia SQL
El punto y como es un estandar que se para cada sentencia SQL en sistemas de bases de datos
que habilitan mas de una sentencia SQL ejecutada en la misma llamada al servidor
Los comandos de consulta y actualizacion son:
SELECT - extrae datos de una base de datos
UPDATE - actualiza datos en una base de datos
DELETE - borra datos de una base de datos
INSERT INTO - inserta datos dentro de una base de datos
CREATE DATABASE - crea una nueva base de datos
ALTER DATABASE - modifica una base de datos
CREATE TABLE - crea una nueva tabla
ALTER TABLE - modifica una tabla
DROP TABLE - borra una tabla
CREATE INDEX - crea un indice (llave de busqueda)
DROP INDEX - borra un indice
La sentencia SELECT
La sentencia SELECT es usada para seleccionar datos de una base de datos.
El resultado es almacenado en una tabla temporal, llamada tabla-resultado
La sintaxis SQL de la sentencia SELECT es:
1) SELECT nombre, apellido FROM nombre_tabla
2) SELECT * FROM nombre_tabla
Ejemplo 1
SELECT nombre_columna FROM nombre_tabla
SELECT Nombre,Apellidos,Ciudad FROM Personas
La sentencia SELECT DISTINCT
Dentro de una tabla, algunas columnas pueden contener valores duplicados. Esto no es un
problema, algunas veces tu querras listar solo los valores diferentes (distintos) en la tabla
La palabra DISTINCT puede ser usada como llave para regresar solo los valores
distintos(diferentes).
Sintaxis SQL SELECT DISTINCT
SELECT DISTINCT nombre_columna(s)
FROM nombre_table
Ejemplo:
SELECT DISTINCT Apellidos
FROM Personas
Abajo esta el resultado de la sentencia DISTINCT a la tabla "Personas":
SQL WHERE
La sentencia where es usada para extraer solo los registros que cumplen con el criterio
especificad
La Sintaxis SQL WHERE
Ejemplo de la sentecia WHERE
SELECT *
FROM Personas
WHERE Apellidos ='Trejo Lemus'
Comillas en los campos de texto
SQL usa comillas simples en los valores de texto (muchos sistemas manejadores de bases de
datos aceptan comillas dobles).Para SQL los valores de texto deben ser puestos entre comillas
simples
Los valores númericos no deben ser puestos entre comillas
Para valores de texto:
Esta es la forma correcta:
SELECT * FROM Personas WHERE Nombre='Lucero'
Esta es la forma equivocada:
SELECT * FROM Personas WHERE Nombre=Lucero
Para valores numericos:
Esta es la forma correcta:
SELECT * FROM Personas WHERE P_id = 9
Esta es la forma incorrecta:
SELECT * FROM Personas WHERE P_id = '9'
Operadores permitidos en la sentencia WHERE
Con la sentencia WHERE, los siguientes operadores pueden ser usados:
Operadores SQL AND y OR
Los operadores AND y OR son usados para filtrar registros basados en mas de una condicion
Operador AND
El operador AND muestra el registro si la primera condición y la segunda condición son
verdaderas
El operador OR muestra el registro si la primera o la segunda condición es verdadera
Ahora teniendo en cuenta la siguiente tabla:
Para seleccionar solo las personas con el Nombre igual a Marcel Abisag y el apellido igual a
Sobrevilla Trejo,
Usaremos la siguiente sentencia SELECT:
SELECT * FROM Personas WHERE Nombre='Marcel Abisag' AND Apellidos='Sobrevilla Trejo'
El resultado sería:
Operador OR
Ahora seleccionaremos las personas con el campo Nombre igual a "Martha" o el campo Nombre
igual a "Elvira"
Usaremos la siguiente sentencia SELECT
SELECT * FROM Personas WHERE Nombre='Martha Beatriz' OR Nombre='Juana Elvira'
El resultado será el siguiente:
Combinando AND & OR
Puedes combinar el AND y el OR (usando parentesis para formar expresiones complejas)
Ahora seleccionaremos solo las personas con el campo Apellidos igual a "Sobrevilla Trejo" AND
Nombre igual a "Marcel Abisag" OR igual a "Jose Abraham"
Usaremos la siguiente sentencia SELECT:
SELECT * FROM Personas WHERE
Apellidos='Sobrevilla Trejo'
AND (Nombre='Marcel Abisag' OR Nombre='Jose Abraham')
El resultado será el siguiente:
SQL ORDER BY
The ORDER BY keyword is used to sort the result-set.
La sentencia ORDER BY es usada para ordenar un resultado ordenado por una columna
especifica
La sentencia ORDER BY es usada para ordenar los registros en orden ascendente por default
Si quieres ordenar los registros en orden descendente utiliza la palabra DESC
Sintaxis SQL ORDER BY
SELECT nombre_columna(s)
FROM nombre_tabla
ORDER BY nombre_column(s) ASCDESC
Ahora vamos a seleccionar todas las personas de la tabla, pero mostrando en orden por el
campo Nombre
Usaremos la siguiente sentencia SELECT:
SELECT * FROM Personas ORDER BY Nombre
El resultado será el siguiente:
ORDER BY DESC
Ahora vamos a seleccionar a todas las personas de la tabla pero mostrandolas en un orden
descendente por el campo Nombre con la palabra DESC
We use the following SELECT statement:
SELECT * FROM Personas ORDER BY Nombre DESC
El resultado será el siguiente:
Sentencia SQL INSERT INTO
La sentencia INSERT INTO se usa para insertar un registro o fila en una tabla
Sintaxis SQL INSERT INTO
Es posible escribir la sentencia INSET INTO en dos formas
La primera forma no especifica los nombres de las columnas donde los datos seran insertados
solo los valores:
INSERT INTO nombre_tabla
VALUES (valor1, valor2, valor3,...)
La segunda forma específica los nombres de las columnas y los valores insertados
INSERT INTO nombre_tabla (columna1, columna2, columna3,...)
VALUES (valor1, valor2, valor3,...)
Ejemplo INSERT INTO
Dado que tenemos la siguiente tabla Personas:
Insertaremos un nuevo registro de la siguiente forma:
INSERT INTO Personas
VALUES ('Martha', 'Lemus Hurtado', 'Canoga Park', 'L.A.')
El resultado lo mostrariamos con la sentencia SELECT * FROM Personas y sería el siguiente:
Insertar Datos solo en columnas especificadas
Es posible agregar datos en columnas especificas
Las siguientes sentencias SQL agregaran una nueva fila, pero solo agregaran datos en las
columnas Nombre y Apellidos
INSERT INTO Personas (Nombre, Apellidos)
VALUES ('Antonio', 'Trejo Campos')
Para mostrar el resultado con la sentencia: SELECT * FROM Personas
Mostrara lo siguiente:
Sentencia SQL UPDATE Statement
La sentencia UPDATE es usada para actualizar registros en una tabla
Sintaxis SQL UPDATE
UPDATE nombre_tabla
SET columna1=valor, column2=valor,...
WHERE alguna_columna=algun_valor
Nota: La sentencia WEHRE en la sintaxis UPDATE, especifica cual de los registros va a ser
actualizado. Si omites la sentencia WHERE todos los registros seran actualizados.
Ahora vamos a actualizar la persona "Antonio Trejo Campos" en la tabla Personas
Usaremos la siguientes sentencias SQL:
UPDATE Personas
SET Direccion='Canoga Park', Ciudad='L.A.'
WHERE Nombre='Antonio' AND Apellido='Trejo Campos'
El resultado sera el siguiente:
CUIDADO!!! al utilizar la sentencia UPDATE
Si omites la sentencia WHERE se actualizaran todos los registros de esta forma:
UPDATE Personas
SET Direccion='Canoga Park', Ciudad='L.A.'
El resultado seria:
Sentencia SQL DELETE
La sentencia DELETE se usa para borrar registros o filas en una tabla
Sintaxis SQL DELETE
DELETE FROM nombre_tabla
WHERE alguna_columna=algun_valor
Nota: La sentencia WHERE en la sintaxis DELETE especifica el registro o los registros que seran
borrados, si omites la sentencia WHERE, todos los registros seran borrados de la tabla
Ahora vamos a borrar la persona "Marco Antonio Trejo Lemus" en la tabla Personas con la
siguiente sentencia:
DELETE FROM Personas
WHERE Nombre='Marco Antonio' AND Apellidos='Trejo Lemus'
SELECT * FROM Personas
El resultado sera el siguiente:
Borrar todas las filas
Es posible borrar todas las filas en una table sin borrar la tabla en si. Esto significa que la
estructura de la tabla, atributos e indices quedaran intactos:
DELETE FROM nombre_tabla
or
DELETE * FROM nombre_tabla
Nota: Debes tener cuidado cuando borres registros. Ya que no podrás deshacer lo que hagas
con esta sentencia.
Buscador en Sql
En un texto dentro de la propiedad change se codifica el siguiente código.
[Link] = "select usuario from tabla where usuario like '" & [Link] & "';"
[Link]
Todo lo que se ingrese en el text se visualizara en el datagrid.
Actividades:
1) Realizar 15 tipos de consultas SQL utilizando la sintaxis del documento SQL y explicar
cada una.
2) Una empresa necesita saber el dni y el nombre de los empleados de la empresa
sabiendo que la base de datos es empleado y la tabla empleados. ¿Cuál es la consulta
sql que se debe utilizar?
3) ¿Cómo se visualizan todos los registros de una tabla llamada empleados?
4) Como se ordenan los registros de una tabla llamada empleados. Dar 2 ejemplos.
5) ¿Cómo se realiza una consulta sql para saber la fecha de cumpleaños de un empleado?