¿Qué es el SQL ?
que significa lenguaje de consulta estructurado o en ingles Structured query language.

Es un lenguaje surgido de un proyecto de investigación por la IBM para el acceso a bases de datos relacionales.
Actualmente se ha convertido en un estándar de lenguaje de bases de datos, y la mayoría de los sistemas de bases de datos lo soportan, desde sistemas para ordenadores personales, hasta grandes ordenadores.
SQL nos permite realizar consultas a la base de datos. Pero SQL además realiza funciones de definición, control y gestión de la base de datos.
Las sentencias SQL se clasifican según su finalidad dando origen a tres ‘lenguajes’ o mejor dicho sublenguajes
y estos son los tipos:
1.-El DDL (Data Description Language), lenguaje de definición de datos, incluye órdenes para definir, modificar o borrar las tablas en las que se almacenan los datos y de las relaciones entre estas. (Es el que más varia de un sistema a otro)
|
2.-El DCL (Data Control Language), lenguaje de control de datos, contiene elementos útiles para trabajar en un entorno multiusuario, en el que es importante la protección de los datos, la seguridad de las tablas y el establecimiento de restricciones en el acceso, así como elementos para coordinar la compartición de datos por parte de usuarios concurrentes, asegurando que no interfieren unos con otros.
|
3.-El DML (Data Manipulation Language), lenguaje de manipulación de datos, nos permite recuperar los datos almacenados en la base de datos y también incluye órdenes para permitir al usuario actualizar la base de datos añadiendo nuevos datos, suprimiendo datos antiguos o modificando datos previamente almacenados.
|
Instalación de SQL
Para realizar esta instalación la versión gratuita: Express. Puedes descargarla desde la página web de Microsoft, desde el enlace para iniciar descarga. Si quieres ver las diferentes ediciones y sus características principales visita el siguiente avanzado
Si la instalación se realizo a partir del archivo descargado de Internet, la descarga se empaqueta como un único ejecutable mediante una tecnología de instalación de Microsoft llamada SFXCab. Al hacer doble clic en él .exe se inicia automáticamente el proceso de instalación.
Los puntos más importantes a tener en cuenta son:
- Habilitar el SQL Server Management Studio en la instalación (si no lo está por defecto) cuando nos pregunte qué componentes deseamos instalar.
- Indicar que se trata de una Instancia predeterminada.
Entrada al SQL Server Management Studio
Aunque trabajemos en modo local, la entrada a la herramienta es la misma. Para empezar entramos a través del acceso directo o a través de Inicio, Programas, Microsoft SQL Server 2005, SQL Server Management Studio.
Lo primero que deberemos hacer es establecer la conexión con el servidorcomo lo muestra la imagen:
Seleccionamos el nombre del servidor y pulsamos el botón Conectar. Se abrirá la ventana inicial del SQL Server Management Studio (en adelante SSMS):
En la parte izquierda tenemos abierto el panel Explorador de Objetos en el que aparece debajo del nombre del servidor con el que estamos conectados una serie de carpetas y objetos que forman parte del servidor.
En el panel de la derecha se muestra la zona de trabajo, que varía según lo que tengamos seleccionado en el Explorador de objetos, en este caso vemos el contenido de la carpeta que representa el servidor ord01.
En la parte superior tenemos el menú de opciones y la barra de herramientas Estándar. como muestra en la siduiente imagen:
Con las siguientes opciones:
1. Nueva consulta
|
6. Consulta de SQL Server Mobile
|
11. Resumen
|
2. Consulta de motor de Base de datos
|
7. Abrir archivo
|
12. Explorador de Objetos
|
3. Consulta MDX de Analysis Services
|
8. Guardar
|
13. Explorador de Plantillas
|
4. Consulta DMX de Analysis Services
|
9. Guardar todo
|
14. Ventana de Propiedades
|
5. Consulta MXLA de Analysis Services
|
10. Servidores registrados
|
esto es para que los ejemplos y ejercicios se puedan ejecutar y probar. Aunque el curso esté realizado para Access2000, sirve también para Access en sus versiones posteriores Access 2002, Access 2003 y Access 2007
1.-primero tenemos que abrir la base de datos donde se encuentra la consulta a crear.
2.- luego hacer clic sobre el objeto Consulta que se encuentra a la izquierda de la ventana de la base de datos.
3.-y despues hacer clic sobre el botón Nuevo de la ventana de la base de datos.
Seleccionar Vista Diseño.
Hacer clic sobre el botón Aceptar.

y despues parecerá un cuadro de diálogo:
Como no queremos utilizar el generador de consultas sino escribir nuestras propias sentencias SQL, no agregamos ninguna tabla.
Aparecerá la ventana de diseño de consultas.
luego hacer clic sobre el botón
, este botón es el que nos permite elegir la vista de la consulta, puede adoptar una de estas tres formas
Al apretar el botón cerrar de la pantalla anterior se abre esta ventana donde introducimos la sentencia SQL.
Una vez escrita sólo nos queda ver si está bien hecha.
Hacer clic sobre el botón
de la barra de herramientas para ejecutar la sentencia.
Si se eqivocan a la hora de escribir la sintaxis,
Access nos saca un mensaje de error y muchas veces el cursor se queda posicionado en la palabra donde ha saltado el error. Ojo, a veces el error está antes o después de donde se ha quedado el cursor.
Si no saca ningún mensaje de error, esto quiere decir que la sentencia respeta la sintaxis definida, pero esto no quiere decir que la sentencia esté bien, puede que no obtenga lo que nosotros queremos, en este caso habrá que rectificar la sentencia.
Guardar la consulta haciendo clic sobre el botón
de la barra de herramientas.
ejemplos
Nota: Estas tablas están orientadas a la didáctica, no a un diseño óptimo.
Tabla empleados con los siguientes campos:
- numemp: número del empleado
- nombre : nombre y apellidos del empleado
- edad : edad del empleado
- oficina : número de la oficina donde trabaja el empleado, p.ej. Antonio Viguer trabaja en la oficina 12 de Alicante
- titulo : el cargo que desempeña el empleado
- contrato : fecha en que se contrató al empleado
- jefe : número de su jefe inmediato, p.ej. El jefe de Antonio Viguer es José González. Observar que Luis Antonio no tiene jefe, es el director general.
- cuota : cuota del empleado, sería el importe mínimo de ventas que debe alcanzar el empleado en el año
- ventas : importe de ventas realizadas durante este año
Tabla oficinas con los siguientes campos:
oficina: código de la oficina
ciudad: ciudad donde está ubicada
region : región a la que pertenece
dir : director de la oficina (su número de empledo) por ejemplo la oficina 12 tiene como director el empleado104 José González.
objetivo : objetivo de ventas que debe alcanzar la oficina
ventas: ventas de la oficina
Tabla clientes con los siguientes campos:
numclie: número de cliente nombre : nombre y apellidos del cliente repclie : nº del representante asignado al cliente. Cada cliente tiene un representante asignado (el que figura en repclie) que será el que generalmente le atienda.
LAS CONSULTAS SIMPLES
SELECCION DE FILAS
LAS CLAUSULAS
Ay tres tipos de clausulas:
La cláusula TOP |
La cláusula TOP permite sacar las n primeras filas de la tabla origen. No elige entre valores iguales, si pido los 25 primeros valores pero el que hace 26 es el mismo valor que el 25, entonces devolverá 26 registros en vez de 25 (o los que sea). Siempre se guia por la columna de ordenación, la que aparece en la cláusula ORDER BY o en su defecto la clave principal de la tabla.
Por ejemplo queremos saber los dos empleados más antiguos de la empresa.
|
SELECT TOP 2 numemp, nombre
FROM empleado ORDER BY contrato |
Lista el código y nombre de los empleados ordenándolos por fecha de contrato, sacando unicamente los dos primeros (serán los dos más antiguos).
|
SELECT TOP 3 numemp, nombre
FROM empleado ORDER BY contrato |
En este caso tiene que sacar los tres primeros, pero si nos fijamos en las fechas de contrato tenemos 20/10/86, 10/12/86, 01/03/87, 01/03/87, la tercera fecha es igual que la cuarta, en este caso sacará estas cuatro filas en vez de tres, y sacaría todas las filas que tuviesen el mismo valor que la tercera fecha de contrato.
|
El número de filas que queremos visualizar se puede expresar con un número entero o como un porcentaje sobre el número total de filas que se recuperarían sin la cláusula TOP. En este último caso utilizaremos la cláusula TOP n PERCENT (porcentaje en inglés).
|
SELECT TOP 20 PERCENT nombre
FROM empleado ORDER BY contrato |
Lista el nombre de los empleados ordenándolos por fecha de contrato, sacando unicamente un 20% del total de empleados. Como tenemos 10 empleados, sacará los dos primeros, si tuviesemos 100 empleados sacaría los 20 primeros
|
SELECT nombre
FROM empleados WHERE oficina = 12 |
Lista el nombre de los empleados de la oficina 12.
|
SELECT nombre
FROM empleados WHERE oficina = 12 AND edad > 30 |
Lista el nombre de los empleados de la oficina 12 que tengan más de 30 años. (oficina igual a 12 y edad mayor que 30)
|
Condiciones de selección
Las condiciones de selección son las condiciones que pueden aparecer en la cláusula WHERE.
En SQL tenemos cinco condiciones básicas:
el test de comparaciónel test de rango
el test de pertenencia a un conjuntoel test de valor nuloel test de correspondencia con patrón .
el test de comparaciónel test de rango
el test de pertenencia a un conjuntoel test de valor nuloel test de correspondencia con patrón .
El test de comparación. Compara el valor de una expresión con el valor de otra.
La sintaxis es la siguiente: |
|
| = igual que <> distinto de < menor que <= menor o igual > mayor que >= mayor o igual |
SELECT numemp, nombre
FROM empleados WHERE ventas > cuota |
Lista los empleados cuyas ventas superan su cuota
|
SELECT numemp, nombre
FROM empleados WHERE contrato < #01/01/1988# |
Lista los empleados contratados antes del año 88 (cuya fecha de contrato sea anterior al 1 de enero de 1988).
¡¡Ojo!!, las fechas entre almohadillas # # deben estar con el formato mes,dia,año aunque tengamos definido otro formato para nuestras fechas. |
SELECT numemp, nombre
FROM empleados WHERE YEAR(contrato) < 1988 |
Este ejemplo obtiene lo mismo que el anterior pero utiliza la función year(). Obtiene los empleados cuyo año de la fecha de contrato sea menor que 1988.
|
SELECT oficina
FROM oficinas WHERE ventas < objetivo * 0.8 |
Lista las oficinas cuyas ventas estén por debajo del 80% de su objetivo.
Hay que utilizar siempre el punto decimal aunque tengamos definida la coma como separador de decimales. |
SELECT oficina
FROM oficinas WHERE dir = 108 |
Lista las oficinas dirigidas por el empleado 108.
|
Test de rango (BETWEEN).
Examina si el valor de la expresión está comprendido entre los dos valores definidos por exp1 y exp2.
Tiene la siguiente sintaxis: |
SELECT numemp, nombre
FROM empleados WHERE ventas BETWEEN 100000 AND 500000 |
Lista los empleados cuyas ventas estén comprendidas entre 100.000 y 500.00
|
SELECT numemp, nombre
FROM empleados WHERE (ventas >= 100000) AND (ventas <= 500000) |
Obtenemos lo mismo que en el ejemplo anterior. Los paréntesis son opcionales.
|
Test de pertenencia a conjunto (IN)
Examina si el valor de la expresión es uno de los valores incluidos en la lista de valores.Tiene la siguiente sintaxis: |
SELECT numemp, nombre, oficina
FROM empleados WHERE oficina IN (12,14,16) |
Lista los empleados de las oficinas 12, 14 y 16
|
SELECT numemp, nombre
FROM empleados WHERE (oficina = 12) OR (oficina = 14) OR (oficina = 16) Test de valor nulo (IS NULL) Una condición de selección puede dar como resultado el valor verdadero TRUE, falso FALSE o nulo NULL. Cuando una columna que interviene en una condición de selección contiene el valor nulo, el resultado de la condición no es verdadero ni falso, sino nulo, sea cual sea el test que se haya utilizado. Por eso si queremos listar las filas que tienen valor en una determinada columna, no podemos utilizar el test de comparación, la condición oficina = null devuelve el valor nulo sea cual sea el valor contenido en oficina. Si queremos preguntar si una columna contiene el valor nulo debemos utilizar un test especial, el test de valor nulo. Tiene la siguiente sintaxis: Ejemplos:
|
No hay comentarios:
Publicar un comentario