100% encontró este documento útil (1 voto)
105 vistas10 páginas

SQL Basico

El documento describe el lenguaje estructurado de consultas SQL, que permite definir esquemas de bases de datos y manipular datos. SQL tiene dos sublenguajes: DDL para definir objetos de bases de datos y DML para manipular datos mediante sentencias como SELECT, INSERT, UPDATE y DELETE. El documento explica el uso de estas sentencias básicas de SQL.

Cargado por

Cabo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
105 vistas10 páginas

SQL Basico

El documento describe el lenguaje estructurado de consultas SQL, que permite definir esquemas de bases de datos y manipular datos. SQL tiene dos sublenguajes: DDL para definir objetos de bases de datos y DML para manipular datos mediante sentencias como SELECT, INSERT, UPDATE y DELETE. El documento explica el uso de estas sentencias básicas de SQL.

Cargado por

Cabo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 10

3.

LENGUAJE ESTRUCTURADO DE CONSULTAS (SQL)


Todos los sistemas de bases de datos relaciones proporcionan un lenguaje que permite acceso y
manipulación de sus bases de datos. El lenguaje común de todos los motores relaciones se llama SQL
(Structure Query Lenguaje). Este lenguaje permite definir el esquema o estructura de la base de datos y
también acceder a los datos guardados bajo este esquema.

Aunque cada motor ofrece sus particularidades con estos lenguajes, todos aceptan un nivel de SQL
aceptado como estándar (ANSI SQL), esto permite que la gran mayoría de las operaciones realizadas con
SQL puedan ser ejecutadas en cualquier motor relacional sin cambios.

De este lenguaje tenemos dos sub-lenguajes que debemos distinguir, el lenguaje de manipulación (DML)
y el lenguaje de definición (DDL).

Lenguaje de definición de datos (DDL)


Permite definir o alterar los objetos de la base de datos. Algunas de sus instrucciones son:
CREATE,ALTER, DROP, etc.

CREATE

Create table Cliente


(
IdCliente int not null primary key,
Nombre char(30)
)

Crea la tabla “Cliente” con los campos “IdCliente” de tipo entero y “Nombre” de tino alfanumérico. El campo
“IdCliente” es la clave primaria y por regla debe llevar la restricción de no permitir nulos.

ALTER

Alter table cliente add apellidos varchar(60)



Altera el esquema de la tabla “Cliente” y agrega una nueva columna.


DROP

Drop table cliente



Borra la tabla “Cliente”.

INTRODUCCION BASES DE DATOS – Ing. Carlos Caraballo Page 37



Lenguaje de manipulación de datos (DML)
Permite manipular los datos. Sus comandos elementales son: SELECT, INSERT, UPDATE y DELETE.

INSERT

Permite agregar nuevos registros a la tabla.

INSERT INTO tabla(col1,col2,coln..) VALUES( val1,val2,valn..)

INSERT INTO tabla VALUES( val1,val2,valn..)

Permite indicar las columnas en las cuales van los valores, en este caso a cada columna le corresponde
un valor en el mismo orden. Si no se indican las columnas, se asume que se está colocando un valor para
cada columna que exista en la tabla.

Ejemplo:

Insert into cliente(idcliente,nombre)


values(1,'carlos carabllo')

Inserta un nuevo registro en la tabla “cliente”, se ha insertado el cliente “Carlos Caraballo”.

DELETE

Borra registros de una tabla. Se debe tener cuenta con la condición de borrado, si ésta no se indica,
entonces se borraran todos los registros.

DELETE FROM tabla

DELETE FROM tabla WEHRE “condición de borrado”

Ejemplo:

Delete from cliente where idcliente=1


Borra un registro o todos aquellos registros que cumplan la condición de borrado expresada en la cláusula Where.
En este caso estamos eliminando el cliente “Carlos Caraballo”, que tiene el IDCliente = 1.

UPDATE

Se utiliza para actualizar la información de los registros. Al igual que como comentamos en la cláusula
DELETE, se debe prestar atención en la condición de búsqueda o filtro. De lo contrario, se pueden
actualizar todos los registros de la tabla.

UPDATE tabla SET col1 = val1, col2=val2, coln=valn

INTRODUCCION BASES DE DATOS – Ing. Carlos Caraballo Page 38



UPDATE tabla SET col1= val1, col2 = val2 WHERE condición de búsqueda

Ejemplo:

Update cliente set nombre='Carlitos'


Where idcliente=1

Actualiza el nombre a “Carlitos” de todos los registros donde el campo “idcliente” sea igual a 1.

INTRODUCCION BASES DE DATOS – Ing. Carlos Caraballo Page 39



SELECT

Esta sentencia permite extraer o consultar registros de una o más tablas. Tiene la sintaxis más larga de la
cuatros sentencias básica de manipulación.

SELECT columnas a visualizar FROM tabla

SELECT columnas a visualizar FROM tabla WHERE filtro de búsqueda

Select idcliente,nombre from Cliente



Muestra un listado de todos los registros de la tabla “cliente”. Presentando solo las columnas “idcliente” y
“nombre”.

IdCliente Nombre apellidos


----------- ------------------------------ ---------------------------------
1 carlos carabllo NULL
2 Juan NULL

Select – Seleccionado las columnas a mostrar

En la parte SELECT, podemos colocar básicamente columnas o expresiones (cálculos, llamadas a


funciones, concatenaciones, etc.). Se podría decir que cualquier cosa que no es una columna seria parte
de una expresión, cada expresión genera una especie de columna calculada.

Formas válidas:

Col1,col2 Muestra columnas específicas.


* Muestra todas las columnas
Tabla.* Muestra todas las columnas de una tabla
Tabla.col1 Muestra la columna “Col1” de la tabla “Tabla”
Tabla.col1 + ‘ ‘ + Tabla.col2 Es una expresión que concatena o une el valor de dos columnas.
Tabla.col1 + 20 Es una expresión que suma una columna de tipo número con el valor 20.
Sum(tabla.col1) + 20 Es una expresión que suma el resultado de la función “sum” más 20.

Ejemplos:

INTRODUCCION BASES DE DATOS – Ing. Carlos Caraballo Page 40



Select * from empleado

Consulta todos los registros de la tabla “empleado”, mostrando todas las columnas.

id Nombre Salario IdDepartamento
0 Juan 100 1
1 CARLOS 9000000 1

42 Pepe 33 1


Select empleado.*,
empleado.nombre+' '+empleado.apellidos,
empleado.Salario-(empleado.Salario*10/100)
from empleado

Muestra todas las columnas de la tabla empleado, una expresión que une las columnas nombre y
apellidos y finalmente una expresión que genera el cálculo de un salario neto. Las columnas que son
calculadas se muestran si título en la salida.

(No column (No column
id Nombre Salario IdDepartamento apellidos name) name)
0 juan 100 1 juan 90
1 CARLOS 9000000 1
Caraballo CARLOS Caraballo 8100000
2 pepe 33 1 pepe 29.7
4 4444 44 1 4444 39.6



Select - Usando alias

La cláusula SELECT permite colocar nombres alternativos a las columnas, Esto es muy útil, sobre todo
cuando las columnas son calculadas que salen sin nombre. Es posible utilizar alias también en la parte
FROM para colocar un nombre más sencillo de manejar a las tablas. El alias se indica utiliza la cláusula
“AS” o simplemente dejando un espacio entre la columna y el alias.

Select empleado.id,
empleado.nombre+' '+empleado.apellidosas'Nombre Completo',
empleado.Salario-(empleado.Salario*10/100) as Neto
from empleado

Muestra tres columnas, el id y dos columnas calculadas. La primera tiene el nombre o alias “Nombre
Completo” y la segunda tiene el alias “Neto”. Si el alias está formado por más de dos palabras, es
necesario utilizar comillas simples o corchetes, como se hizo con “Nombre completo”.

id Nombre Completo Neto

INTRODUCCION BASES DE DATOS – Ing. Carlos Caraballo Page 41



0 juan 90
1 CARLOS Caraballo 8100000

42 pepe 29.7

Select e.id,
e.nombre+' '+e.apellidos as 'Nombre Completo',
e.Salario-(e.Salario*10/100) as Neto
from empleado e

Este select genera el mismo resultado que la consulta anterior. Pero en este caso, utilizamos un alias
para la tabla empleado, a partir de ese punto donde quiera que se necesite el nombre de la tabla
empleado podemos decir solo “e”.

select – Ordenando el resultado

La cláusula ORDER BY permite ordenar el resultado de una consulta en orden ascendente (por defecto)
o descendente.

Ejemplo:

select* from empleado


order by nombre desc

Muestra un resultado ordenado alfabéticamente por la columna nombre, en orden descendente. Si no se
indica el orden, se toma por defecto el orden ascendente.

Select – Funciones Agregadas

Son herramientas que permiten efectuar algunas operaciones de uso cotidiano sobre los registros.
Hablamos de operaciones como contar (Count), sumar (SUM), tomar el mínimo o el máximo
(MIN/MAX), sacar el promedio (AVG), etc.

Ejemplos:

Vamos a tomar el siguiente resultado a aplicar algunas consultas que muestre el uso de las funciones
agregadas.

Id Nombre Salario
1 juan 100
2 CARLOS 100
42 pepe 200

INTRODUCCION BASES DE DATOS – Ing. Carlos Caraballo Page 42



Aplicando ese paquete de registros:

Select count(*) from empleados


Muestra el total de empleados registrados.Resultado : 3

Select sum(salario) as total from empleado


Muestra la suma de la columna salario para todos los registros de “empleado”. Resultado: 400.00

Select max(salario) as total from empleado


Muestra el salario más alto pagado. Resultado: 200.00

Select – Filtrando los registros

La cláusula WHERE permite establecer una condición de búsqueda sobre los registros. Esta clase permite
la utilización de los operadores lógicos “AND, OR” y relacionales “!=, <> , = , > , <, >=, <=”.

Ejemplos:

Vamos a tomar el siguiente resultado a aplicar algunas consultas que muestre el uso de la cláusula
WHERE.

Id Nombre Salario
1 juan 100
2 CARLOS 100
42 pepe 200

Aplicando ese paquete de registros:

Select * from empleado


Where nombre='carlos'
Muestra los registros cuyo nombre sea igual a “carlos”.
Resulado:
2 CARLOS 100

Select * from empleado


Where Salario > 100 and IdDepartamento=1
Muestra los empleados que ganan más de 100 pesos y pertenecen al departamento 1.
Resultado: no hay resultados.

INTRODUCCION BASES DE DATOS – Ing. Carlos Caraballo Page 43



Select * from empleado
Where Salario>100 and (IdDepartamento=1 or IdDepartamento=2)
Muestra los empleados que ganan más de 100 pesos y que pertenecen al departamento 1 o 2.
Resultado:

42 pepe 200

Utilizando la cláusula LIKE

La cláusula LIKE permite buscar por partes de una cadena o valor alfanumérico.

%cadena Todo lo que termine por esa cadena


Cadena% Todo lo que comience por esa cadena
%cadena% Todo lo que contenga esa cadena

Ejemplo:

Select * from empleado


Where nombre like 'car%'
Muestra todos los empleados cuyo nombre comience por el valor “car”.

Utilizando la cláusula de negación NOT

La cláusula NOT se utiliza para negar o decir que una condición sea falsa.

Select * from empleado


Where not (IdDepartamento=2)
Muestra los empleados donde sea falso que su departamento sea igual 2.

Utilizando la cláusula IN

Esta cláusula se utiliza para filtrar por lista de valores. Equivale a utilizar varios OR, pero en una lista
larga de elementos utilizar el OR sería complicado.

Select * from empleado


Where IdDepartamento IN(1,2)

Muestra los empleados donde su departamento sea 1 o 2. Sería lo mismo si cambiamos esa condición
por WHERE idDepartamento = 1 OR idDepartamento = 2.

INTRODUCCION BASES DE DATOS – Ing. Carlos Caraballo Page 44



Filtrando por el valores nulos

Debemos tener en cuenta que NULL es un valor especial, no es un espacio ni nada parecido. Para
comparar por NULL utilizamos el operador IS.

Select * from empleado


Where IdDepartamento is null

Muestra los empleados donde el campo departamento contenga o sea NULL. Para negar o decir que no
sea nulo podemos decir “IS NOT NULL” o “ NOT campo is null”.

Select – Operaciones de grupos

La cláusula GROUP BY permite extraer un resultado agrupado por uno o más campos. Por lo regular,
esta cláusula se mezcla con las funciones agregadas para efectuar cálculos por grupos de registros.

Ejemplos:

Vamos a tomar el siguiente resultado a aplicar algunas consultas que muestre el uso de la cláusula
GROUP BY.

id Nombre Salario IdDepartamento


1 juan 100 1
2 CARLOS 100 1

42 pepe 200 2

En ese resultado, se puede apreciar que hay dos empleados que tienen el mismo “id” de departamento,
pertenecen al departamento 1. Si tomamos como base este campo, el departamento, diríamos que en
este caso hay dos grupos los empleados que pertenecen al departamento 1 y los que pertenecen al
departamento 2. Veamos que en las consultas de más abajo lo que podemos hacer con estos grupos.

Select idDepartamento
From empleado
Group by IdDepartamento

Muestra los grupos que existen tomando como base el campo departamento. Resultado:

idDepartamento
1
2

INTRODUCCION BASES DE DATOS – Ing. Carlos Caraballo Page 45



Select idDepartamento,count(*) as total
From empleado
Group by IdDepartamento

Muestra la cantidad de empleados por cada grupo. Resultado:

idDepartamento Total
1 2
2 1

Select idDepartamento,sum(Salario) as total


From empleado
Group by IdDepartamento

Muestra la el total pagado por departamento. Resultado:



idDepartamento Total
1 200
2 200

La cláusula HAVING

Esta cláusula permite indicar una especie de filtro, pero a nivel de la operación del grupo. Por ejemplo,
el siguiente SELECT muestra el total de empleados por departamento, pero sólo muestra resultados para
los departamentos en lo que el total de empleados sea mayor o igual que 2.

Sin HAVING:

Select idDepartamento,count(*) as total


From empleado
Group by IdDepartamento

Total de empleado por departamento, Resultado:



idDepartamento Total
1 2
2 1

INTRODUCCION BASES DE DATOS – Ing. Carlos Caraballo Page 46

También podría gustarte