tutorial de comandos basicos de sql para estudiantes .ppt

EdgarRamirez672468 7 views 73 slides Sep 22, 2025
Slide 1
Slide 1 of 73
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69
Slide 70
70
Slide 71
71
Slide 72
72
Slide 73
73

About This Presentation

sql


Slide Content

SQLSQL

Introducción a SQL
¿Qué significa SQL?
¿Qué es el SQL?

Significado de SQL
Ingles
Español
Structured Query Language
Lenguaje Estructurado de Consultas

¿Qué es SQL?
Es un lenguaje de consulta y programación de bases de
datos utilizado para la organización, acceso, consulta y
gestión de bases de datos relacionales.
Cliente
Aplicación
del Cliente
API’s de la BD
(OLEDB, ODBC,
Microsoft Jet, etc.)
Librería de
Autentificación
del Cliente
Solicitud
SQL
Datos
Server
Database
Management
System
(SGBD)
Validación de
Permisos

Funciones Principales de SQL en un SGBD
Definición de Datos
Estructura de la BD
Organización de Datos
Relaciones
Recuperación de Datos
Extracción de Datos
Manipulación de Datos
Permite la inserción, eliminación, modificación y actualización de
los datos.
Control de Acceso
Control sobre los Permisos en los datos
Compartimiento de Datos
Coordina el acceso y la compartición de datos entre varios
usuarios.
Integridad de Datos
Protege la BD de deterioros o errores causados por el sistema

Sistemas de SQL Server
Un Sistema SQL puede implementarse como sistema
cliente/servidor o como sistema independiente.
El tipo de sistema que se diseñe dependerá del número de
usuarios que vaya a acceder a la base de datos de manera
simultanea y de la clase de trabajo que se vaya a realizar.

Sistema cliente/servidor
Este sistema se puede configurar en dos o tres capas,
independientemente de la configuración, software y bases de
datos de SQL Server.
Los usuarios tienen equipos independientes llamados
clientes. Los usuarios acceden a la base de datos por medio
de aplicaciones en sus equipos cliente.

Sistema cliente/servidor
En los sistemas de dos capas los clientes ejecutan una
aplicación desde su equipo y que accede al servidor de base
de datos por medio de la red, por lo tanto el cliente ejecuta el
código correspondiente para presentar los resultados al
usuario.
La configuración de 2 capas es útil cuando el número de
usuarios es relativamente pequeño, dado que cada conexión
de usuario requiere de recursos del sistema como memoria y
bloqueos.
Clientes
SBD

Sistema cliente/servidor
La configuración de tres capas involucra a un equipo
llamado servidor de aplicaciones, en este sistema la única
tarea del cliente es la ejecución de código para solicitar las
funciones del servidor de aplicaciones y posteriormente la
presentación de los resultados.
El Servidor de aplicaciones ejecuta un programa que incluye
el código específico, por lo que muchos usuarios pueden
acceder a este programa de manera simultanea. El Servidor
de aplicaciones se conecta con el servidor de base de datos
para acceder a la aplicación y devolver los resultados al
cliente.
Clientes
SA
SBD

Sistema Independiente (Local)
SQL Server también se puede utilizar como servidor de base
de datos independiente que se ejecuta en una PC o portátil.
Las aplicaciones cliente se ejecutan en la misma máquina
que almacena el motor de SQL Server y las bases de datos,
por lo tanto no se realiza ninguna conexión de red del cliente
al servidor.
El sistema es útil cuando un único usuario accede a la base
de datos o en los que unos pocos usuarios que comparten un
equipo acceden a la base de datos en diferentes momentos.

Administración de Servicios
SQL Server
Un servicio es un programa o proceso que lleva a cabo una
función especifica para dar soporte a otros programas o
aplicaciones.
Al iniciar el equipo, el servicio se inicia de manera
automática.
El servicio gestiona los archivos de bases de datos, procesa
sentencias Transac-SQL, ubica recursos entre conexiones de
usuarios y asegura la consistencia de los datos.

SQL Server Enterprise Manager
El Administrador Corporativo de SQL es una herramienta
para configurar y administrar la instalación de SQL Server.
Permite realizar las siguientes tareas:
Configurar y administrar base de datos (tablas, índices,
vistas, procedimientos, copias de seguridad y registros de
error)
Registrar el servidor
Configurar servidores locales y remotos
Asignar una contraseña de administrador del sistema
Controlar los usuarios, administradores y operadores del
sistema

SQL Server Enterprise Manager

Estructura de las Bases de Datos
Cada Base de Datos de SQL Server se crea a partir de un
conjunto de archivos del sistema operativo.
Archivos
Un archivo de base de datos puede ser un archivo de datos
o bien un archivo de registro.
Archivos de Datos.- Se usan para almacenar datos y
objetos como tablas, índices, vistas y procedimientos
almacenados. Existen dos tipos de archivos de datos:
Principales
Secundarios

Estructura de las Bases de Datos
Archivos de datos principal
Contiene toda la información de inicio para la base de datos, tablas y objetos
del sistema. Apunta al resto de archivos creados en la base de datos.
También puede almacenar tablas y objetos definidos por el usuario.
Cada base de datos debe tener un archivo principal con la extensión .MDF
Archivos de datos secundarios
Estos archivos son opcionales. Pueden contener datos y objetos que no se
encuentren en el archivo principal.
Una base de datos podría no tener ningún archivo secundario si todos sus
datos se encuentran en el archivo principal.
Se puede tener más de un archivo secundario.
La extensión de estos archivos son .NDF.
Archivos de Registro de Transacciones
Contiene toda la información de registro de transacciones utilizada para
recuperar la base de datos.
Toda base de datos debe tener al menos una archivo de registro
La extensión de este tipo de archivo es .ldf
Nota: el Tamaño máximo para una base de datos en SQL Server es de 32 tb
para archivos de datos y 4 tb para archivos de registro.

Bases de Datos del Sistema
Al instalar SQL Server se crean cuatro bases de datos del
sistema: las bases de datos master, temdb, model y msdb.
Master.- Registra la información de inicialización de SQL
Server y los parámetros de configuración de SQL Server.
También registra todas las cuentas de inicio de sesión, la
existencia de todas las demás bases de datos y la posición
del archivo principal de todas las bases de datos de usuario
Tempdb.- Alberga tablas y procedimientos almacenados
temporales. Esta base de datos también se utiliza para
otras necesidades de almacenamiento como el
ordenamiento de datos.

Bases de Datos del Sistema
Model.- Sirve como plantilla para todas las demás bases de
datos que se creen en el sistema, entre ellas tempdb. Esta
base de datos debe existir en el sistema por que se utiliza
para volver a crear tempdb cada vez que SQL Server se
inicia.
Msdb.- Contiene tablas que agente de SQL Server utiliza
para la planificación de trabajos y alertas. Esta base de
datos también alberga las tablas que se usan para la
duplicación.

Creación de una Base de Datos
SQL Server proporciona tres métodos para la creación de una
base de datos:
A través del SQL Server Enterprise Manager
Asistente para la creación de bases de datos
Mediante el comando Nueva Base de Datos…
Comandos de Transac-SQL

Creación de una Base de Datos
Uso del Asistente para la
Creación de Bases de Datos.
1.Iniciar el SQL Server
Enterprise Manager
2.Seleccionar el servidor en
el que se quiere crear la
base de datos
3.Ejecutar el asistente
(Herramientas / Asistentes
o clic sobre el botón de la
varita)
4.Seleccionar de la lista el
asistente para la creación
de base de datos y dar OK.
5.Dar clic en siguiente para
saltar la pantalla de
bienvenida al asistente.

Creación de una Base de Datos
Uso del Asistente para la Creación de Bases de Datos.
5.Escribir el nombre de la base de datos a crear y rutas de
almacenamiento de archivos de datos y de registros.
Posteriormente dar clic en Siguiente.

Creación de una Base de Datos
Uso del Asistente para la Creación de Bases de Datos.
6.Especificar el tamaño inicial del archivo de la base de datos
o dejar el tamaño de manera predeterminada.

Creación de una Base de Datos
Uso del Asistente para la Creación de Bases de Datos.
7.Definir el crecimiento del archivo de la base de datos, ya
sea de manera automática o un tamaño según lo
necesitado.

Creación de una Base de Datos
Uso del Asistente para la Creación de Bases de Datos.
8.Asignar el tamaño inicial de los archivos de registro de
transacciones.

Creación de una Base de Datos
Uso del Asistente para la Creación de Bases de Datos.
7.Definir el crecimiento de los archivos de registro, ya sea de
manera automática o un tamaño según lo necesitado.

Creación de una Base de Datos
Comando Creación de Bases
de Datos.
1.Ejecutar el Enterprise
Manager y seleccionar el
servidor correspondiente.
2.Seleccionar la carpeta Base
de Datos
3.Seleccionar el menú Acción
/ Nueva base de datos…
4.Escribir el nombre de la
base de datos a crear

Creación de una Base de Datos
Comando Creación de Bases de Datos.
5.Seleccionar las opciones de crecimiento automático según
cada archivo.

Creación de una Base de Datos
Comando Creación de Bases de Datos.
6.Configurar los archivos de registros de transacciones.

SQL Query Analyzer
El Query Analyzer es una herramienta gráfica utilizada para realizar
consultas SQL.
En el Query Analyzer se pueden escribir, modificar, ejecutar y
guardar códigos Transact-SQL
Las ventajas mas importantes del Query Analyzer son:
Editor de Scripts
Editor de Textos donde se pueden agregar sangrías para mantener una mayor organización
de los scripts.
Formateo de Código por colores
Como se valla capturando el código, SQL Query Analyzer aplica colores a las palabras
reservadas, cadenas de texto, funciones y a otros elementos.
Múltiples ventanas de consulta en Cuadriculas o Textos
Ventanas donde se visualizarán las consultas en una Hoja de Datos (Cuadricula) o en
forma de Texto.
Ejecución Parcial de Scripts
Se puede ejecutar una parte de todo un script mediante la selección de las líneas que se
quiera ejecutar.
Plan de Ejecución
Query Analyzer puede presentar información de cómo se ejecutan los scripts, velocidad,
forma y rendimiento del servidor para devolver una consulta.

SQL Query Analyzer
Al ejecutar el Query Analyzer mostrará el cuadro de dialogo
que permitirá establecer la conexión con el Servidor de SQL.

SQL Query Analyzer

Transacciones-SQL
Las transacciones son comandos universales SQL que
permiten realizar petición a un servidor de BD por medio de
otras aplicaciones.
Existen 3 tipos de Transacciones:
Data Definition Lenguage (DDL)
El lenguaje de definición de datos es utilizado para definir la estructura de la
BD
Data Control Lenguage (DCL)
Son utilizadas para establecer los permisos sobre los elementos de una BD
Data Manipulation Lenguage (DML)
Son utilizadas para trabajar con los datos de las Bases de Datos como consultar,
insertar, actualizar o la eliminación de datos.

Elementos de Sintaxis en SQL
Al realizar transacciones o instrucciones SQL se llegan a
utilizar ciertos elementos que forman parte del uso del SQL
como lo son:
Los Nombres y Alias
Batches
Comentarios
Tipos de Datos
Variables
Operadores
Funciones

Nombres y Alias
Cuando se escriben declaraciones de SQL, se utilizan
nombres para referirse a bases de datos, tablas, columnas o
sentencias reservadas de SQL. Pero también es posible crear
alias los cuales funcionan como sinónimos para llamar a las
tabla o campos.
Pueden contener caracteres alfanuméricos, guión bajo y el $.
No puede estar formado solamente de dígitos.
Se deben incluir entre caracteres de comillas o apostrofes.
No incluir signos especiales como diagonales, puntos y comas.
El nombre no debe corresponder a una palabra reservada de SQL
Cuando se utilice el nombre de una tabla o campo
compuesto por espacios en blanco se deberá colocar el
nombre entre [ ] o entre ‘’.
Ejemplo:
SELECT Nombre,[Fecha de Nacimiento]
FROM Empleados

Batches
Un Batche esta formado por un conjunto de sentencias o
transacciones SQL.
GO
Mediante la palabra GO, SQL marca el final de un batche y
es enviado a procesar al Servidor de SQL.
Ejemplo:
Use Northwind
SELECT * FROM Productname
GO

Comentarios
Los comentarios son cadenas de texto que no son tomados
en cuenta durante la ejecución de sentencias.
Existen 2 formas de colocar comentarios en SQL:
Comentarios por Línea
Para colocar un comentario en una línea, se deben colocar 2 (--) guiones antes
del comentario, ya que SQL ignora todo el texto que se encuentre a la derecha
de los guiones.
Comentarios de Bloque
Para generar un bloque de varias líneas de comentarios se utiliza los caracteres
(/*) para marcar el inicio del comentario y los caracteres (*/) para finalizar el
comentario
Ejemplo:
Use Ventas - - utiliza la BD Ventas
SELECT * - - Selecciona todos los registros
FROM Pedidos - - de la tabla pedidos
Go
Ejemplo:
/* Este es un bloque
de varias líneas
que termina precisamente aquí */

Tipos de Datos
Clasificación Tipos de Datos Descripción
Números
SMALLINT Números enteros pequeños
INTEGER Números enteros
BIT (Longitud) Cadena de Bits de longitud fija
REAL Números con coma flotante de baja Precisión
DOUBLE PRECICIÓN Números con coma flotante de doble
Precisión
FLOAT (Precisión) Números en coma flotante
DECIMAL Números decimales y $
Cadenas de Texto
CHAR (Longitud) Cadena de longitud fija
CHARACTER
VARCHAR (Longitud) Cadenas de longitud variable
Fechas y Horas
DATE Fechas
TIME (Precisión) Horas
INTERVAL Intervalo de Tiempo
DATETIME Fecha y Hora

Variables
Dentro de SQL se pueden definir variables para almacenar
valores temporales.
Todas las variables deben iniciar con el símbolo @
Declaración de variables
Asignar valores en las
variables
Devolver el valor de
las variables
Sintaxis:
DECLARE @variable Tipo de Dato
Ejemplo:
DECLARE @nombre varchar(15)
Sintaxis:
SET @variable = valor
Ejemplo:
SET @nombre = ‘Juan Pérez’
Sintaxis:
SELECT @variable
Ejemplo:
SELECT @nombre

Operadores
Tipos de Operadores
Aritméticos
+ - * / ^
Comparación
> < <> = >= <=
Concatenación
+
Lógicos
And Or Not

Funciones
COUNT Número de registros seleccionadosPOSITION (Caracter IN Cadena)
SUM Suma de un campo SUM (Campo)
AVG Promedio de un campo AVG (Campo)
MAX Máximo de un campo MAX (Campo)
MIN Mínimo de un campo MIN (Campo)

Transacciones DDL
Son instrucciones que controlan la estructura de una BD con
las cuales se pueden realizar las siguientes acciones:
Crear Tablas
Eliminar Tablas
Modificar la estructura de la tabla
Definir Vistas (Tablas Virtuales)
Establecer parámetros de seguridad a la BD
Creación de Índices para la aceleración el acceso a los
datos.
Control del almacenamiento de los datos
Las transacciones DDL que se utilizan son:
CREATE Nombre del Objeto
ALTER Nombre del Objeto
DROP Nombre del Objeto

Crear una Base de Datos (CREATE)
Comando T-SQL:
CREATE DATABASE
Sintaxis:
CREATE DATABASE [Nombre de BD]
Ejemplo:
create database cursosql
on
(name = MiDB,
filename = 'C:\Archivos de programa\Microsoft SQL Server\MSSQL$SQLCEDEC1\Data\cursosql.mdf',
size=8MB, Maxsize=9MB,filegrowth=100Kb)
LOG ON
(name = cursosql_reg,
filename = 'C:\Archivos de programa\Microsoft SQL Server\MSSQL$SQLCEDEC1\Data\cursosql.ndf',
size=1000MB, Maxsize=1500MB,filegrowth=100Mb)
use cursosql
go
sp_helpdb [base de datos]
Permite mostrar la información de los archivos
de la base de datos y muestra el espacio
asignado.

Utilizar una BD
Para realizar una acción dentro de una Base de Datos,
primero hay que decirle a MySQL que queremos trabajar con
esa Base de Datos, para esto se utiliza el siguiente comando
Sentencia SQL:
USE
Sintaxis:
USE Nombre de la BD
Ejemplo:
USE Animales

Creación de una Tabla
Comando T-SQL:
CREATE TABLE
Sintaxis:
CREATE TABLE Nombre_Tabla (
Nombre_Campo1 Tipo_Dato[(Tamaño)] [NULL | NOT NULL]
[DEFAULT Valor],
Nombre_Campo2 Tipo_Dato[(Tamaño)] [NULL | NOT NULL]
[DEFAULT Valor], etc… )
* Solo es necesario definir el tamaño cuando se utilizan los
Tipos de Datos Char y Varchar.
Ejemplo 1:
CREATE TABLE MiTabla (
Matricula INT,
Nombre VARCHAR(15),
Edad INT )

Creación de una Tabla
Valores Ausentes y Valores Predeterminados
Al momento de definir cada una de las columnas es posible
determinar si el campo va a permitir valores nulos o no.
Es posible definir para cada columna en caso de ser
necesario, una valor que funcione como predeterminado al
momento de ingresar registros a la tabla.
CREATE TABLE oficinas
(oficina integer NOT NULL,
ciudad varchar(15) NOT NULL,
region varchar(15) NOT NULL DEFAULT 'Este',
jef integer DEFAULT 106,
objetivo money DEFAULT NULL,
ventas money NOT NULL)

Eliminación de una Tabla
Es posible eliminar una tabla de la base de datos, es
importante considerar que al momento de que la tabla es
eliminada todos los registros almacenados en dicha tabla,
también serán eliminados.
Al eliminar una tabla debe considerar si esta no se encuentra
relacionada con alguna otra tabla, en caso de que así sea, la
integridad en las relaciones se vera afectada.
DROP TABLE nombre_tabla

Modificación de una Tabla
En ocasiones será necesario alterar la definición de la
estructura las tablas, por lo que será posible modificar la
tabla en los siguientes aspectos:
Cambiar el tipo de datos para las columnas
Establecer valores nulos o no para las columnas
Especificar valores predeterminados
Agregar columnas
Eliminar columnas
ALTER TABLE nombre_tabla
ADD nueva_columna tipo_datos
ALTER TABLE nombre_tabla
DROP COLUMN nombre_columna
ALTER TABLE MITABLA
alter column matricula varchar(15)
sp_rename 'MiTabla.Matricula','Credencial'
go

Asignar Alias a los Campos
Es posible que al momento de que muestre el resultado de la
consulta, los nombres de los campos sean distintos.
Lo anterior es útil cuando los nombres de los campos no son
muy representativos para los usuarios finales.
La asignación del Alias se hace a través de la cláusula AS
seguido del nombre del alias o sobrenombre que se quiera
asignar.
SELECT idproducto AS [Código Producto],
nombreproducto AS Producto from productos

Modificación de una Tabla
También es posible modificar la estructura de una tabla
haciendo uso del Administrador Corporativo (Enterprise
Manager), es mas sencillo y proporciona más funcionalidad y
flexibilidad que el uso de las instrucciones T-SQL.
Expandir la carpeta de la base de dato y dar clic en Tablas,
para posteriormente con clic derecho sobre la tabla a
modificar, seleccionar la opción Diseñar Tabla.

Tablas con Columnas Incrementales
Las tablas pueden contener una sola columna que tenga
como valor un valor inicial y que en cada registro que se
agregue se pueda ver incrementado dependiendo del valor
que se definió en la sintaxis de la creación de la tabla
CREATE TABLE nombre_tabla
(nombre_columna tipo_dato
[IDENTITY [(valor_inicial,incremento)]]NOT NULL)
CREATE TABLE clases
(Id_Estudiante integer IDENTITY(100, 5) NOT NULL,
Nombre varchar(15))

Tablas con Columnas Incrementales
Al momento de insertar registros a la tabla, la primer
columna se incrementará de manera automática tomando
como valor inicial e incremento los establecidos en la
sentencia del T-SQL.
Para ver el funcionamiento debe utilizar el Enterprise
Manager y dar clic derecho sobre la tabla para
posteriormente utilizar Abrir tabla / Mostrar todos los
registros.
Ingrese los datos faltantes al registro y observe el
comportamiento que se tiene al querer ingresar datos al
primer campo.
insert into clases
(nombre) values ('David') select * from clases

Importar Tablas
1.Dentro del Enterprise Manager dar clic derecho en la carpeta
de Base de Datos
2.Seleccionar Todas las Tareas / Importar Datos
3.En la Bienvenida dar Siguiente
4.Seleccionar el Origen de Datos "Microsft Access"
5.Seleccionar el Archivo.mdb
6.Siguiente

Importar Tablas
1.Seleccionar el Destino (Microsft OLEDB Provider for SQL
Server)
2.Asegurarse que el Servidor es el correcto
3.Seleccionar de la lista de Base de Datos, la opción Nuevo
4.Dar el Nombre de la Nueva BD
5.OK
6.Siguiente

Importar Tablas
Seleccionar la opción Copiar Tabas y Vistas de la BD Fuente
Siguiente
Seleccionar las tablas a importar
Siguiente
Siguiente
Finalizar

Consultas Simples – SELECT
La instrucción Select permite recuperar información de una base de
datos y los devuelve en forma de resultados de la consulta.
En la instrucción Select se especifican los elementos de datos que
recupera la consulta.
Los elementos se especifican a través de una lista de elementos
separados por comas.
Cada elemento de selección en la lista genera una única columna de
resultados de la consulta, de izquierda a derecha.
Un elemento de selección puede ser:
Un nombre de columna
Identifica una columna de la tabla o tablas que aparecen en la cláusula FROM
SQL toma el valor de esa columna de cada fila de la tabla y lo muestra como resultado de
la consulta
Una constante
Especifica que ese mismo valor de constante aparecerá en cada fila de los resultados de la
consulta
Una expresión
Indica a SQL que debe calcular el valor a poner e los resultados, según se especifica en la
expresión

Instrucción SELECT
 SELECT
 Lista las columnas que se van a
recuperar de la BD.
 FROM
 Se indica el nombre de la tabla que
contiene la información a recuperar.
 WHERE
 Se especifica una condición para los
registros que debe recuperar SQL.
 GROUP BY
 Genera una columna donde agrupa
los registros que tengan la misma
información, generando un
resumen.
 HAVING
 Indica a SQL que incluya en el
resultado sólo determinados grupos
producidos por la cláusula GROUP
BY.
 ORDER BY
 Ordena los resultados tomando
como base los datos de una o más
columnas.

Instrucción SELECT
En ocasiones es conveniente mostrar la información de todas
las columnas que existen en la tabla, por lo que no será
necesario colocar la lista de todos los nombres de la
columna. Para lo anterior será necesario utilizar el (*), el cual
le indica a SQL que debe tomar todas las columnas de la
tabla para posteriormente ser mostradas sobre la consulta.
Ejemplo 1:
SELECT * FROM CLIENTES

Selección de Filas (WHERE)
Normalmente no se desea seleccionar sólo algunos registros
de una tabla e incluir sólo estos en los resultados de la
consulta.
La cláusula WHERE se usa para especificar los registros que
se desea recuperar.
SELECT idpedido,idproducto,preciounidad
FROM [detalles de pedidos]
WHERE preciounidad >=100
SELECT idcliente,nombrecompañía,nombrecontacto
FROM clientes
WHERE nombrecontacto = 'Antonio Moreno'

Condiciones de Búsqueda
SQL ofrece una gran variedad de condiciones de búsqueda
que permiten especificar muchos tipos diferentes de
consulta de forma eficiente y natural.
Existen cinco condiciones básicas de consulta:
Comparación. Compara el valor de una expresión con el
valor de otra expresión.
Rango. comprueba si el valor de una expresión se
encuentra en un rango especificado de valores
Pertenencia a conjuntos. Comprueba si el valor de una
expresión con uno de un conjunto de valores.
Encaje de patrones. Comprueba si el valor de una columna
que contiene datos de cadena coincide con un patrón
especificado.
Valores nulos. Comprueba si una columna tiene una valor
NULL.

Condiciones de Búsqueda (Comparación)
La condición de comparación es la más usual en una consulta
de SQL, en dicha comparación SQL calcula y compara los
valores de dos expresiones para cada fila de datos.
Las expresiones pueden tan sencillas o complejas,
dependiendo de lo el usuario desea obtener en la consulta.
SELECT * FROM productos WHERE unidadesenexistencia>=50
AND unidadesenexistencia<=100
SELECT * FROM clientes
WHERE cargocontacto<>'propietario'

Condiciones de Búsqueda (Rango)
SQL proporciona una forma diferente de condición de
búsqueda con el rango (BETWEEN), el cual comprueba si un
valor se encuentra entre dos especificaciones.
Implica tres expresiones SQL:
La primera define el valor a comprobar
La segunda el límite inferior del rango a comprobar
La tercera el límite superior del rango a comprobar
SELECT idpedido,idcliente,fechapedido,fechaentrega
FROM pedidos
WHERE idpedido BETWEEN 10300 AND 10400
SELECT idpedido,idcliente,fechapedido,fechaentrega
FROM pedidos
WHERE fechapedido BETWEEN '09-01-96' AND '09-30-96'
mm/dd/aa

Condiciones de Búsqueda
(Pertenencia a Conjuntos)
La búsqueda de pertenencia a conjuntos (IN), comprueba si
un valor de datos coincide con uno de una lista de posibles
valores.
SELECT idproducto, nombreproducto, preciounidad, unidadesenexistencia
FROM productos
WHERE unidadesenexistencia IN (0,5,10)
SELECT idpedido,idcliente,fechapedido,fechaentrega
FROM pedidos
WHERE fechapedido IN ('05-01-97','06-01-97','07-01-97','08-01-97')

Condiciones de Búsqueda
(Encaje de Patrones)
La búsqueda de encaje de patrones, permite recuperar los
registros que coincidan con un texto en concreto.
SELECT idcliente,nombrecompañía,nombrecontacto
FROM clientes
WHERE nombrecompañía like 'S%'
SELECT idcliente,nombrecompañía,nombrecontacto
FROM clientes
WHERE nombrecompañía like 'S%' or nombrecompañía like 'A%'
SELECT * FROM mitabla
WHERE nombre LIKE '_egador'
SELECT * FROM mitabla
WHERE nombre LIKE '_egador%'
SELECT * FROM mitabla
WHERE nombre LIKE '_egador_'

Condiciones de Búsqueda
(Valores Nulos)
Para una fila dada, el resultado de una condición de
búsqueda puede ser TRUE o FALSE, o puede ser NULL por
que una de las columnas usadas en la evaluación de la
condición de búsqueda contenga un valor NULL
SELECT nombrecompañía,cargocontacto,dirección, región, fax
FROM clientes
WHERE región IS NULL
SELECT idcliente,fechapedido,regióndestinatario
FROM pedidos
WHERE idcliente='TOMSP' AND regióndestinatario IS NULL

Agrupación de Registros (Group By)
Una consulta que contiene GROUP BY se denomina consulta
de agrupación por que agrupa los datos de las tablas fuente
en una única fila de resumen por cada registro.
SELECT idproveedor,sum(unidadesenexistencia)
FROM productos
group by idproveedor
SELECT idproveedor,unidadesenexistencia
FROM productos
ORDER BY idproveedor
COMPUTE sum(unidadesenexistencia)
SELECT idproveedor,unidadesenexistencia
FROM productos
ORDER BY idproveedor
COMPUTE sum(unidadesenexistencia) by idproveedor
COMPUTE sum(unidadesenexistencia)

Uso de la Cláusula HAVING en GROUP BY
La cláusula HAVING permite establecer una condición en los
registros agrupados de una consulta, para que SQL muestre
sólo los registros que hayan cumplido con la condición.
HAVING debe utilizarse en combinación con la cláusula
GROUP BY.
SELECT idproducto,
idorden,cantidad
FROM pedidos
idproducto Idorden cantidad
1 1 5
1 1 10
2 1 10
2 2 25
3 1 15
3 2 30
SELECT idproducto,
sum(cantidad) as Total
FROM pedidos
GROUP BY idproducto
HAVING sum(cantidad)>=30
idproducto Total
2 35
3 45

Uso de la Cláusula HAVING en GROUP BY
SELECT idproveedor,sum(unidadesenexistencia)
FROM productos
group by idproveedor
having sum(unidadesenexistencia)>200
SELECT idproveedor,sum(unidadesenexistencia)
FROM productos
group by idproveedor
having idproveedor<=5
Ejercicios:

Uso del GROUP BY
con la cláusula COMPUTE
La cláusula COMPUTE permite colocar al final de la consulta
una fila con un resultado de alguna función matemática
aplicada.
Puede utilizarse también la cláusula COMPUTE BY para crear
una especie de subtotales con su respectivo total general.
SELECT idproveedor,
unidadesenexistencia
FROM productos
ORDER BY idproveedor
COMPUTE sum(unidadesenexistencia)
SELECT idproveedor,
unidadesenexistencia
FROM productos
ORDER BY idproveedor
COMPUTE sum(unidadesenexistencia)
by idproveedor
COMPUTE sum(unidadesenexistencia)
IdProveedor Unidadesenexistencia
1 39
1 17
2 53
2 9
2 76
Sum 194
IdProveedor Unidadesenexistencia
1 39
1 17
Sum 56
2 53
2 9
2 76
Sum 138
Sum 194

Registros Duplicados (DISTINCT)
En caso de que en la tabla se tenga especificado un campo
como clave principal, todos los registros de la tabla en ese
campo tendrá información diferente, ya que la clave principal
por naturaleza impide tener registros duplicados en el campo
de clave principal.
Si la clave principal no se incluye, la tabla podrá tener
registros con información duplicada.
Para no mostrar los registros con información duplicada será
necesario insertar la palabra DISTINCT en la instrucción
SELECT ates de la lista de selección.
SELECT DISTINCT fechapedido FROM pedidos
SELECT DISTINCT cargo FROM empleados
SELECT DISTINCT cargo, región FROM empleados

Ordenación de
Registros (ORDER BY)
Una consulta generada por la cláusula SELECT puede
presentar los resultados de manera organizada tanto
numéricamente y alfabéticamente.
Cláusula T-SQL:
ORDER BY
Sintaxis:
SELECT [Campos] FROM [Tabla] ORDER BY [Campos] [Tipo de Ordenación]
Los tipos de ordenación puedes ser:
ASC - Ordenación Ascendente
DESC - Ordenación Descendente
SELECT * FROM empleados ORDER BY idempleado desc
SELECT * FROM empleados ORDER BY cargo asc

Mostrar los Valores Superiores/Inferiores
A través de la cláusula TOP, SQL permite mostrar los
registros que contengan los valores mas superiores o
inferiores de la consulta.
Para especificar que sean los primeros o últimos se agrega la
cláusula WITH TIES después de la cláusula TOP.
SELECT TOP 3 *
FROM productos
order by unidadesenexistencia desc
SELECT TOP 3 *
FROM productos
Order BY unidadesenexistencia asc
SELECT TOP 3 with ties *
FROM productos
ORDER BY unidadesenexistencia asc

Consultas con Columnas Calculadas
Los resultados de una consulta vienen directamente de la bas
de datos, una consulta de SQL puede incluir columnas
calculadas, cuyos valores se obtiene a partir de los valores
almacenados.
Para solicitar una columna calculada se hace a través de una
expresión
Las expresiones de SQL pueden incluir la suma, resta,
multiplicación y la división.
Las columnas referenciadas en una expresión aritmética
deben tener un tipo numérico.
select idpedido, idproducto, (preciounidad*cantidad)
as 'Total de Venta' from [detalles de pedidos]

Consultas de Varias Tablas
A través de la cláusula INNER JOIN será posible realizar
consultas entre dos o más tablas.
Para realizar consultas entre varias tablas, es recomendable
asignar Alias haciendo uso de la cláusula AS para nombrar
las tablas.
Select idpedido, idproducto,producto,cantidad
FROM pedidos INNER JOIN productos
ON pedidos.idproducto=productos.idproducto
GO
Select idpedido, idproducto,producto,cantidad
FROM pedidos AS pe INNER JOIN productos AS pr
ON pe.idproducto=pr.idproducto
GO

Consultas de Varias Tablas
A través de la cláusula INNER JOIN será posible realizar
consultas entre dos o más tablas.
Para realizar consultas entre varias tablas, es recomendable
asignar Alias haciendo uso de la cláusula AS para nombrar
las tablas.
Select idpedido, idproducto,producto,cantidad
FROM pedidos INNER JOIN productos
ON pedidos.idproducto=productos.idproducto
GO
Select idpedido, idproducto,producto,cantidad
FROM pedidos AS pe INNER JOIN productos AS pr
ON pe.idproducto=pr.idproducto
GO
Tags