SlideShare una empresa de Scribd logo
1 de 20
SISTEMAS DE BASE DE DATOS
Ing. Rafael Rojas Bujaico
UNIVERSIDAD NACIONAL DE
HUANCAVELICA
FACULTAD
INGENIERIA ELECTRONICA-SISTEMAS
COMANDOS EN SQL SERVER
La sentencia Select
La sentencia Select es una sentencia SQL, que pertenece al conjunto del Lenguaje de
Manipulación de Datos, y que sirve para recuperar registros de una o varias tablas, de
una o varias bases de datos. Su sintaxis es la siguiente:
SELECT <atributos> FROM <tablas>
[WHERE <condicion>]
[GROUP BY <atributos>]
[HAVING <condición>]
[ORDER BY <atributos>]
Donde las mayúsculas representan palabras reservadas, y lo encerrado entre corchetes
es opcional, puede ser omitido. Una vez vista la anterior forma de representación,
vamos a detenernos en la sintaxis de la sentencia Select.
 SELECT <atributos>: permite hacer una proyección de las tablas, es decir,
seleccionar los campos que deseamos recuperar de la base de datos, separados por
comas. Si se especifica el símbolo *, se obtendrán todos los campos de la tabla.
 FROM <tablas>: permite especificar la tabla de la cual se desean obtener los datos.
Si se especifica más de una tabla, éstas irán separadas por comas.
 WHERE <condición>: permite establecer una condición de recuperación de las filas
de la/s tabla/s. Sólo se obtendrán aquellas tuplas que verifiquen dicha condición,
que será opcional. En el caso de que se omita esta parte, se recuperarán todas las
filas.
 GROUP BY <atributos>: permite establecer una selección de campos cuando se
utilizan funciones escalares o de conteo (ya se verá más adelante lo que significa.
 HAVING <condición>: establece una condición para los atributos obtenidos como
resultado de la aplicación de funciones escalares.
 ORDER BY <atributos>: permite obtener el resultado de la consulta ordenado por
los atributos especificados.
La cláusula Where
La forma de usar el Transact SQL para realizar consultas realizando una proyección
horizontal (es decir, seleccionando las filas), es mediante la opción WHERE. A
continuación de esta palabra reservada, se debe especificar la condición lógica que se
debe evaluar, para obtener aquellas filas que la cumplen.
Para expresar una expresión lógica se pueden emplear cualquiera de los operadores de
Transact SQL cuyo resultado devuelva un valor lógico, aunque también se pueden utilizar
operadores de cadena. Básicamente son los siguientes:
 = : compara si una expresión es mayor que otra
 < : compara si una expresión es menor que otra
 >= : compara si una expresión es mayor o igual que otra
 <= : compara si una expresión es menor o igual que otra
 <>: compara si una expresión es distinta que otra
 LIKE : compara todas las cadenas que verifican un patrón de búsqueda
 NOT LIKE : compara todas las cadenas que no verifican un patrón de búsqueda
 BETWEEN : compara todas las cadenas que están comprendidas en un rango de
valores
 IN : compara todas las cadenas que están contenidas en una lista
SELECT * FROM titleauthor WHERE royaltyper > 10
SELECT * FROM titles WHERE price <= 2
SELECT au_fname FROM authors WHERE au_fname LIKE '[C-H]urry'
SELECT title FROM titles WHERE price BETWEEN 1 AND 2
La cláusula Group by
La cláusula GROUP BY agrupa, como su propio nombre indica, filas que tienen el mismo
valor para un atributo, en grupos distintos. Por ejemplo, si queremos obtener el apellido
de todos los autores, ejecutamos el Código
SELECT nomAutor FROM Autor SELECT nomAutor FROM Autor GROUP BY nomAutor
La cláusula Having
La cláusula HAVING es similar a la cláusula WHERE, salvo que aquella se usa como
condición de búsqueda cuando se especifica la cláusula GROUP BY.
Por lo tanto el funcionamiento es similar al ya visto para WHERE. La única diferencia es
que HAVING se aplica a condiciones de grupo.
Por ejemplo, si dada la sentencia de agrupación (Group By), deseamos que sólo se
muestre el autor cuyo apellido sea por ejemplo “Roger”.
SELECT nomAutor FROM Autor GROUP BY nomAutor HAVING nomAutor = 'Roger'
La cláusula Order by
La cláusula ORDER BY determina el orden de visualización de las filas obtenidas en la
sentencia SELECT. A continuación de dicha palabra reservada, se debe especificar el
atributo o los atributos por los cuales se ordenará el resultado obtenido en la consulta.
SELECT nomAutor, apeAutor FROM Autor ORDER BY apeAutor
Funciones escalares para Select
Entendemos por funciones escalares, todas aquellas que permiten realizar operaciones
de conteo de filas, suma de atributos, obtención de medias, etc. Dichas funciones se
especifican a continuación de la palabra reservada SELECT. Las funciones que soporta la
sentencia SELECT en el Transact SQL son las siguientes:
 SUM: Realiza una suma acumulativa de un atributo para todas las filas accedidas
mediante una consulta SQL.
SELECT sum(precio) FROM pedido
SELECT sum(precio) FROM pedido WHERE cod_cliente = "R12CE"
 COUNT: Cuenta todas las filas de las tablas accedidas mediante una consulta SQL.
SELECT count(DNI) FROM cliente
SELECT count(*) FROM cliente
SELECT count(*) FROM cliente WHERE poblacion = “Huancayo"
SELECT count(*) caros FROM titles WHERE price > 20
 AVG: Realiza una media aritmética de los atributos para todas las filas accedidas
mediante la consulta SQL.
SELECT avg(cantidad_pedida) FROM material
SELECT avg(price) media FROM titles
 MAX: Obtiene el máximo valor del atributo especificado, de entre todas las filas
seleccionadas mediante la sentencia SQL.
SELECT max(price) caro FROM titles
 MIN: Obtiene el mínimo valor del atributo especificado, de entre todas las filas
seleccionadas mediante la sentencia SQL.
SELECT min(price) barato FROM titles
La sentencia Insert
La otra gran sentencia de manipulación de datos es INSERT. Si SELECT nos permitía
recuperar datos, INSERT nos va a permitir añadirlos al esquema, es decir, con esta
sentencia podemos añadir información a la base de datos.
INSERT INTO tabla (atributos)
VALUES (valores)
INSERT INTO Autor (idAutor, nomAutor, apeAutor)
VALUES ('409-99-9876', ‘Juan', 'Perez')
NOTA: Si el valor a introducir es alfanumérico, deberá ir encerrado entre
comillas, mientras que si es numérico no.
INSERT INTO Autor (idAutor, nomAutor, apeAutor, contacto)
VALUES ('409-99-9876', ‘Juan', 'Perez', 1)
La sentencia Update
El objetivo de la sentencia UPDATE es actualizar los valores de una o varias filas de una
tabla, sin necesidad de borrarla e insertarla de nuevo. La sintaxis es la siguiente:
UPDATE tabla SET atributo1 = valor1 , atributo2 = valor2, ...
WHERE condicion
UPDATE Autor SET nomAutor = 'Pepito'
WHERE idAutor = '409-99-9876'
La sentencia Delete
El objeto de la sentencia DELETE es el de borrar filas de una tabla. Para poder borrar
filas en una tabla se deben cumplir las condiciones de seguridad determinadas por el
administrador.
DELETE FROM tabla
WHERE condicion
DELETE FROM Autor
WHERE idAutor = '409-99-9876'
Operadores básicos y consideraciones del lenguaje
Entendemos por operadores, aquellas palabras reservadas o símbolos delimitadores que
nos permiten aplicar las diversas técnicas del álgebra relacional. Las principales que
veremos aquí son:
 Proyección
 Unión
 Join o combinación
Operador proyección
El operador de proyección es muy usado, sobre todo para acotar la consulta de tablas.
Dicho operador consiste en restringir la cantidad de información que obtenemos de una
o varias tablas.
SELECT tabla1.campo1, tabla2.campo1 FROM tabla1, tabla2
El método no varia si queremos realizar la proyección sobre más de una tabla.
Operador Union
El operador unión consiste, como su propio nombre indica, en unir campos de más de
una tabla. El resultado obtenido contendrá entonces campos de las tablas especificadas
en la cláusula FROM. Este operador casi nunca se utiliza por separado, sino junto con el
de proyección, para obtener el resultado consultando en varias tablas, y quedarnos
luego sólo con la información relevante.
SELECT * FROM tabla1, tabla2 SELECT * FROM tabla1 UNION SELECT * FROM tabla2
Operador join
El operador de join es uno de los más usados en el álgebra relacional. Sirve para
combinar dos tablas entre sí, utilizando un atributo común. Lo que se realiza es una
unión de cada fila de una tabla, con todas las filas de la tabla con la que se hace el join,
cuyos atributos comunes coincidan.
La forma de realizarlo en Transact SQL es especificando en la cláusula WHERE los
atributos por los cuales se va a realizar el join entre ambas tablas.
SELECT * FROM tabla1, tabla2 WHERE tabla1.campo1 = tabla2.campo1
El Código anterior realiza un join entre las tablas tabla1 y tabla2, por el campo1 de ambas
tablas.
Veamos un ejemplo de como funciona un join. Supóngase que tenemos las dos
siguientes tablas, y deseamos hacer un join por el atributo campo1 de ambas.
Lo primero que se realiza al hacer un join es una unión de ambas tablas, copiando cada
fila de la primera tabla, y para cada fila cuyo campo común sea igual en ambas tablas,
copiar las filas de la segunda tabla.
Como hemos podido comprobar, la tercera fila de la tabla 1, no aparece en el join. Esto es
debido a que el valor del atributo por el que se hace el join (campo1), cuyo valor es 3, no
existe en el atributo campo1 de la tabla 2. A este tipo de join se le denomina inner join.
El otro tipo de join, denominado outer join, consiste en realizar el join, pero incluyendo
todas las filas de ambas tablas, aunque éstas no tengan correspondencia en su homóloga.
Dentro de este tipo de join, existen dos categorías:
 Left join: incluyen todas las filas de la primera tabla, aunque éstas no tengan
correspondencia en la segunda. Los campos de la segunda tabla se rellenan con
interrogantes.
SELECT * FROM tabla1
left join tabla2 on tabla1.campo = tabla2.campo2
 Rigth join: incluyen todas las filas de la segunda tabla, aunque éstas no tengan
correspondencia en la primera. Los campos de la primera tabla se rellenan con
interrogantes.
SELECT * FROM tabla1
rigth join tabla2 on tabla1.campo = tabla2.campo2
SELECT * FROM tabla1, tabla2 WHERE tabla1.campo1 = tabla2.campo1 AND tabla1.campo2 = tabla2.campo2
En el lenguaje de manipulación de datos, una de las operaciones más usuales es
precisamente la de join de varias tablas. Veamos un ejemplo de implementación de join
en Transact SQL.
SELECT Libro.titulo, Autor.nomAutor FROM Libro, LibroAutor, Autor
WHERE Libro.idTitulo = LibroAutor.idTitulo
AND LibroAutor.idAutor = Autor.idAutor
En la cláusula WHERE, además de las condiciones de join, podremos especificar otro
tipo de condiciones.
SELECT Libro.titulo, Autor.nomAutor , Libro.precio FROM Libro, LibroAutor, Autor
WHERE Libro.idTitulo = LibroAutor.idTitulo AND LibroAutor.idTitulo.idAutor = Autor.idAutor
AND Libro.precio < 20
Operadores propios de Transact SQL
Los operadores que nos proporciona SQL Server se dividen en varios grupos:
 Aritméticos: realizan operaciones aritméticas. Ej.: suma, multiplicación, división, etc.
 De nivel de bit: realizan operaciones transformando los operandos a bits. Ej.: AND al nivel de bit,
etc.
 Lógicos: realizan operaciones que devuelven un resultado lógico. Ej.: comparaciones, etc.
 De cadena: realizan operaciones que afectan a strings o cadenas de caracteres. Ej.: concatenación,
búsqueda, etc.
Operadores
Aritméticos
DESCRIPCION EJEMPLO RESUTADO
+ Suma SELECT 2 + 4 6
- Resta SELECT 3 – 1 2
* Multiplicación SELECT 3 * 2 6
/ División SELECT 6 / 2 3
%
Módulo o resto de la
división entera
SELECT 4 % 3 1
Operadores
Nivel de Bit
DESCRIPCIÓN EJEMPLO RESULTADO
&
AND binario (1 si los
bits de ambos
operandos son 1)
SELECT 3 & 2 11 & 10 = 10 - > 2
|
OR binario (1 si el bit
de alguno de los dos
operandos es 1)
SELECT 3 | 2 11 | 10 = 11 -> 3
^
OR exclusivo binario
(1 si el bit de los
operandos es distinto)
SELECT 3 ^ 2 11 ^ 10 = 01 -> 1
~
NOT binario (cambia
el bit)
SELECT ~ 2 ~10 = 01 -> 1
Operadores
lógicos
DESCRIPCIÓN EJEMPLO RESULTADO
= Igual SELECT 1 = 2 FALSO
< Menor SELECT 1 < 2 VERDADERO
> Mayor SELECT 1 > 3 FALSO
>= Mayor o Igual SELECT 1 >= 1 VERDADERO
<= Menor o Igual SELECT 10 <= 1 FALSO
<> Distinto SELECT 1 <> 2 VERDADERO
!= Distinto SELECT 1 != 1 FALSO
!> No Mayor SELECT 1 !> 3 VERDADERO
!< No Menor SELECT 1 !<1 VERDADERO
Operadores
de Cadena
DESCRIPCIÓN EJEMPLO
RESULTA
DO
+ Concatenación SELECT 'A' + 'B' AB
[]
Cadenas coincidentes.
NOT: negación de la
expresión LIKE:
búsqueda por patrón
SELECT * FROM
tabla WHERE
atributo1 LIKE '[CH]urry'
Curry
Hurry
[^]
Cadenas no
coincidentes. NOT:
negación de la
expresión LIKE:
búsqueda por patrón
SELECT + FROM
tabla WHERE
atributo1 NOT LIKE
'[^I-Z]'
J,K,L,M
-
Cadena con ese
carácter coincidente.
NOT: negación de la
expresión
LIKE: búsqueda por
patrón
SELECT * FROM
tabla WHERE
atributo2 like '_urry'
Hurry
Otros operadores importantes aplicables a expresiones son los siguientes:
 BETWEEN: Verifica los valores comprendidos dentro del rango especificado. La
sintaxis es:
expresion BETWEEN expresion AND expression
SELECT * FROM Libro
WHERE precio BETWEEN 10 AND 50
 IN: Verifica si el valor especificado está contenido dentro de una lista de ellos. La
sintaxis es:
expresion IN lista
SELECT nomAutor FROM Autor
where ciudad in ('San Francisco','Salt Lake City')
SELECT nomAutor FROM Autor
where ciudad IN (SELECT ciudad FROM Autor WHERE estado = 'CA')

Más contenido relacionado

La actualidad más candente (20)

Manipulacion de Bases de Datos
Manipulacion de Bases de DatosManipulacion de Bases de Datos
Manipulacion de Bases de Datos
 
Sentencias sql
Sentencias sqlSentencias sql
Sentencias sql
 
Sentencia select
Sentencia selectSentencia select
Sentencia select
 
Aprenda SQL Server
Aprenda SQL ServerAprenda SQL Server
Aprenda SQL Server
 
Combinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasCombinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablas
 
SENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVERSENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVER
 
Ejemplo ddl dml
Ejemplo ddl dmlEjemplo ddl dml
Ejemplo ddl dml
 
Guia de ejercicio sql
Guia de ejercicio sqlGuia de ejercicio sql
Guia de ejercicio sql
 
SENTENCIAS SQL
SENTENCIAS SQL SENTENCIAS SQL
SENTENCIAS SQL
 
Introducción a sql server
Introducción a sql serverIntroducción a sql server
Introducción a sql server
 
Introducción a sql consultas y criterios de selección
Introducción a sql consultas y criterios de selecciónIntroducción a sql consultas y criterios de selección
Introducción a sql consultas y criterios de selección
 
Comandos SQL
Comandos SQLComandos SQL
Comandos SQL
 
Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
 
Introduccion a SQL
Introduccion a SQL Introduccion a SQL
Introduccion a SQL
 
Operaciones basicas de sql
Operaciones basicas de sqlOperaciones basicas de sql
Operaciones basicas de sql
 
Consultas en sql básico
Consultas en sql básicoConsultas en sql básico
Consultas en sql básico
 
Sentencias Sql
Sentencias SqlSentencias Sql
Sentencias Sql
 
Seleccion de datos
Seleccion de datosSeleccion de datos
Seleccion de datos
 
Comandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-lizComandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-liz
 
Inserción de datos y selección de datos
Inserción de datos y selección de datosInserción de datos y selección de datos
Inserción de datos y selección de datos
 

Similar a 14 structure query language

Similar a 14 structure query language (20)

MANEJO DE SENTENCIAS DE RECUPERACIÓN
MANEJO DE SENTENCIAS DE RECUPERACIÓNMANEJO DE SENTENCIAS DE RECUPERACIÓN
MANEJO DE SENTENCIAS DE RECUPERACIÓN
 
MANEJO DE SENTENCIAS DE RECUPERACIÓN
MANEJO DE SENTENCIAS DE RECUPERACIÓNMANEJO DE SENTENCIAS DE RECUPERACIÓN
MANEJO DE SENTENCIAS DE RECUPERACIÓN
 
Grupo alfa 3
Grupo alfa 3Grupo alfa 3
Grupo alfa 3
 
Consultas sql
Consultas sqlConsultas sql
Consultas sql
 
Anon manual sql
Anon   manual sqlAnon   manual sql
Anon manual sql
 
Unidad 2-lenguaje-sql
Unidad 2-lenguaje-sqlUnidad 2-lenguaje-sql
Unidad 2-lenguaje-sql
 
Compiladores1
Compiladores1Compiladores1
Compiladores1
 
Insercción de datos y selección de datos
Insercción de datos y selección de datosInsercción de datos y selección de datos
Insercción de datos y selección de datos
 
Funciones sql
Funciones sqlFunciones sql
Funciones sql
 
Tutorial SQL
Tutorial SQLTutorial SQL
Tutorial SQL
 
Objeto De Aprendizaje
Objeto De AprendizajeObjeto De Aprendizaje
Objeto De Aprendizaje
 
BD_L8_EXP_ROZIC_CAP9_SQL
BD_L8_EXP_ROZIC_CAP9_SQLBD_L8_EXP_ROZIC_CAP9_SQL
BD_L8_EXP_ROZIC_CAP9_SQL
 
Consultas basicas en sql server
Consultas basicas en sql serverConsultas basicas en sql server
Consultas basicas en sql server
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2
 
Sql
SqlSql
Sql
 
Lenguaje sql
Lenguaje sqlLenguaje sql
Lenguaje sql
 
Tutorial sql
Tutorial sqlTutorial sql
Tutorial sql
 
Funciones de grupo
Funciones de grupoFunciones de grupo
Funciones de grupo
 
Comandos y funciones sql postgres
Comandos y funciones sql postgresComandos y funciones sql postgres
Comandos y funciones sql postgres
 
Sql
SqlSql
Sql
 

Último

Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptEduardoCorado
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfyoseka196
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdfAnthonyTiclia
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxEverardoRuiz8
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxSergioGJimenezMorean
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones025ca20
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptxGARCIARAMIREZCESAR
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
MANIOBRA Y CONTROL INNOVATIVO LOGO PLC SIEMENS
MANIOBRA Y CONTROL INNOVATIVO LOGO PLC  SIEMENSMANIOBRA Y CONTROL INNOVATIVO LOGO PLC  SIEMENS
MANIOBRA Y CONTROL INNOVATIVO LOGO PLC SIEMENSLuisLobatoingaruca
 
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfMIGUELANGELCONDORIMA4
 

Último (20)

Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.ppt
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdf
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptx
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
MANIOBRA Y CONTROL INNOVATIVO LOGO PLC SIEMENS
MANIOBRA Y CONTROL INNOVATIVO LOGO PLC  SIEMENSMANIOBRA Y CONTROL INNOVATIVO LOGO PLC  SIEMENS
MANIOBRA Y CONTROL INNOVATIVO LOGO PLC SIEMENS
 
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
 

14 structure query language

  • 1. SISTEMAS DE BASE DE DATOS Ing. Rafael Rojas Bujaico UNIVERSIDAD NACIONAL DE HUANCAVELICA FACULTAD INGENIERIA ELECTRONICA-SISTEMAS COMANDOS EN SQL SERVER
  • 2. La sentencia Select La sentencia Select es una sentencia SQL, que pertenece al conjunto del Lenguaje de Manipulación de Datos, y que sirve para recuperar registros de una o varias tablas, de una o varias bases de datos. Su sintaxis es la siguiente: SELECT <atributos> FROM <tablas> [WHERE <condicion>] [GROUP BY <atributos>] [HAVING <condición>] [ORDER BY <atributos>] Donde las mayúsculas representan palabras reservadas, y lo encerrado entre corchetes es opcional, puede ser omitido. Una vez vista la anterior forma de representación, vamos a detenernos en la sintaxis de la sentencia Select.
  • 3.  SELECT <atributos>: permite hacer una proyección de las tablas, es decir, seleccionar los campos que deseamos recuperar de la base de datos, separados por comas. Si se especifica el símbolo *, se obtendrán todos los campos de la tabla.  FROM <tablas>: permite especificar la tabla de la cual se desean obtener los datos. Si se especifica más de una tabla, éstas irán separadas por comas.  WHERE <condición>: permite establecer una condición de recuperación de las filas de la/s tabla/s. Sólo se obtendrán aquellas tuplas que verifiquen dicha condición, que será opcional. En el caso de que se omita esta parte, se recuperarán todas las filas.  GROUP BY <atributos>: permite establecer una selección de campos cuando se utilizan funciones escalares o de conteo (ya se verá más adelante lo que significa.  HAVING <condición>: establece una condición para los atributos obtenidos como resultado de la aplicación de funciones escalares.  ORDER BY <atributos>: permite obtener el resultado de la consulta ordenado por los atributos especificados.
  • 4. La cláusula Where La forma de usar el Transact SQL para realizar consultas realizando una proyección horizontal (es decir, seleccionando las filas), es mediante la opción WHERE. A continuación de esta palabra reservada, se debe especificar la condición lógica que se debe evaluar, para obtener aquellas filas que la cumplen. Para expresar una expresión lógica se pueden emplear cualquiera de los operadores de Transact SQL cuyo resultado devuelva un valor lógico, aunque también se pueden utilizar operadores de cadena. Básicamente son los siguientes:  = : compara si una expresión es mayor que otra  < : compara si una expresión es menor que otra  >= : compara si una expresión es mayor o igual que otra  <= : compara si una expresión es menor o igual que otra  <>: compara si una expresión es distinta que otra  LIKE : compara todas las cadenas que verifican un patrón de búsqueda  NOT LIKE : compara todas las cadenas que no verifican un patrón de búsqueda  BETWEEN : compara todas las cadenas que están comprendidas en un rango de valores  IN : compara todas las cadenas que están contenidas en una lista SELECT * FROM titleauthor WHERE royaltyper > 10 SELECT * FROM titles WHERE price <= 2 SELECT au_fname FROM authors WHERE au_fname LIKE '[C-H]urry' SELECT title FROM titles WHERE price BETWEEN 1 AND 2
  • 5. La cláusula Group by La cláusula GROUP BY agrupa, como su propio nombre indica, filas que tienen el mismo valor para un atributo, en grupos distintos. Por ejemplo, si queremos obtener el apellido de todos los autores, ejecutamos el Código SELECT nomAutor FROM Autor SELECT nomAutor FROM Autor GROUP BY nomAutor La cláusula Having La cláusula HAVING es similar a la cláusula WHERE, salvo que aquella se usa como condición de búsqueda cuando se especifica la cláusula GROUP BY. Por lo tanto el funcionamiento es similar al ya visto para WHERE. La única diferencia es que HAVING se aplica a condiciones de grupo. Por ejemplo, si dada la sentencia de agrupación (Group By), deseamos que sólo se muestre el autor cuyo apellido sea por ejemplo “Roger”. SELECT nomAutor FROM Autor GROUP BY nomAutor HAVING nomAutor = 'Roger'
  • 6. La cláusula Order by La cláusula ORDER BY determina el orden de visualización de las filas obtenidas en la sentencia SELECT. A continuación de dicha palabra reservada, se debe especificar el atributo o los atributos por los cuales se ordenará el resultado obtenido en la consulta. SELECT nomAutor, apeAutor FROM Autor ORDER BY apeAutor Funciones escalares para Select Entendemos por funciones escalares, todas aquellas que permiten realizar operaciones de conteo de filas, suma de atributos, obtención de medias, etc. Dichas funciones se especifican a continuación de la palabra reservada SELECT. Las funciones que soporta la sentencia SELECT en el Transact SQL son las siguientes:  SUM: Realiza una suma acumulativa de un atributo para todas las filas accedidas mediante una consulta SQL. SELECT sum(precio) FROM pedido SELECT sum(precio) FROM pedido WHERE cod_cliente = "R12CE"
  • 7.  COUNT: Cuenta todas las filas de las tablas accedidas mediante una consulta SQL. SELECT count(DNI) FROM cliente SELECT count(*) FROM cliente SELECT count(*) FROM cliente WHERE poblacion = “Huancayo" SELECT count(*) caros FROM titles WHERE price > 20  AVG: Realiza una media aritmética de los atributos para todas las filas accedidas mediante la consulta SQL. SELECT avg(cantidad_pedida) FROM material SELECT avg(price) media FROM titles  MAX: Obtiene el máximo valor del atributo especificado, de entre todas las filas seleccionadas mediante la sentencia SQL. SELECT max(price) caro FROM titles  MIN: Obtiene el mínimo valor del atributo especificado, de entre todas las filas seleccionadas mediante la sentencia SQL. SELECT min(price) barato FROM titles
  • 8. La sentencia Insert La otra gran sentencia de manipulación de datos es INSERT. Si SELECT nos permitía recuperar datos, INSERT nos va a permitir añadirlos al esquema, es decir, con esta sentencia podemos añadir información a la base de datos. INSERT INTO tabla (atributos) VALUES (valores) INSERT INTO Autor (idAutor, nomAutor, apeAutor) VALUES ('409-99-9876', ‘Juan', 'Perez') NOTA: Si el valor a introducir es alfanumérico, deberá ir encerrado entre comillas, mientras que si es numérico no. INSERT INTO Autor (idAutor, nomAutor, apeAutor, contacto) VALUES ('409-99-9876', ‘Juan', 'Perez', 1)
  • 9. La sentencia Update El objetivo de la sentencia UPDATE es actualizar los valores de una o varias filas de una tabla, sin necesidad de borrarla e insertarla de nuevo. La sintaxis es la siguiente: UPDATE tabla SET atributo1 = valor1 , atributo2 = valor2, ... WHERE condicion UPDATE Autor SET nomAutor = 'Pepito' WHERE idAutor = '409-99-9876' La sentencia Delete El objeto de la sentencia DELETE es el de borrar filas de una tabla. Para poder borrar filas en una tabla se deben cumplir las condiciones de seguridad determinadas por el administrador. DELETE FROM tabla WHERE condicion DELETE FROM Autor WHERE idAutor = '409-99-9876'
  • 10. Operadores básicos y consideraciones del lenguaje Entendemos por operadores, aquellas palabras reservadas o símbolos delimitadores que nos permiten aplicar las diversas técnicas del álgebra relacional. Las principales que veremos aquí son:  Proyección  Unión  Join o combinación Operador proyección El operador de proyección es muy usado, sobre todo para acotar la consulta de tablas. Dicho operador consiste en restringir la cantidad de información que obtenemos de una o varias tablas. SELECT tabla1.campo1, tabla2.campo1 FROM tabla1, tabla2 El método no varia si queremos realizar la proyección sobre más de una tabla.
  • 11. Operador Union El operador unión consiste, como su propio nombre indica, en unir campos de más de una tabla. El resultado obtenido contendrá entonces campos de las tablas especificadas en la cláusula FROM. Este operador casi nunca se utiliza por separado, sino junto con el de proyección, para obtener el resultado consultando en varias tablas, y quedarnos luego sólo con la información relevante. SELECT * FROM tabla1, tabla2 SELECT * FROM tabla1 UNION SELECT * FROM tabla2 Operador join El operador de join es uno de los más usados en el álgebra relacional. Sirve para combinar dos tablas entre sí, utilizando un atributo común. Lo que se realiza es una unión de cada fila de una tabla, con todas las filas de la tabla con la que se hace el join, cuyos atributos comunes coincidan. La forma de realizarlo en Transact SQL es especificando en la cláusula WHERE los atributos por los cuales se va a realizar el join entre ambas tablas. SELECT * FROM tabla1, tabla2 WHERE tabla1.campo1 = tabla2.campo1
  • 12. El Código anterior realiza un join entre las tablas tabla1 y tabla2, por el campo1 de ambas tablas. Veamos un ejemplo de como funciona un join. Supóngase que tenemos las dos siguientes tablas, y deseamos hacer un join por el atributo campo1 de ambas. Lo primero que se realiza al hacer un join es una unión de ambas tablas, copiando cada fila de la primera tabla, y para cada fila cuyo campo común sea igual en ambas tablas, copiar las filas de la segunda tabla.
  • 13. Como hemos podido comprobar, la tercera fila de la tabla 1, no aparece en el join. Esto es debido a que el valor del atributo por el que se hace el join (campo1), cuyo valor es 3, no existe en el atributo campo1 de la tabla 2. A este tipo de join se le denomina inner join. El otro tipo de join, denominado outer join, consiste en realizar el join, pero incluyendo todas las filas de ambas tablas, aunque éstas no tengan correspondencia en su homóloga. Dentro de este tipo de join, existen dos categorías:  Left join: incluyen todas las filas de la primera tabla, aunque éstas no tengan correspondencia en la segunda. Los campos de la segunda tabla se rellenan con interrogantes. SELECT * FROM tabla1 left join tabla2 on tabla1.campo = tabla2.campo2
  • 14.  Rigth join: incluyen todas las filas de la segunda tabla, aunque éstas no tengan correspondencia en la primera. Los campos de la primera tabla se rellenan con interrogantes. SELECT * FROM tabla1 rigth join tabla2 on tabla1.campo = tabla2.campo2 SELECT * FROM tabla1, tabla2 WHERE tabla1.campo1 = tabla2.campo1 AND tabla1.campo2 = tabla2.campo2
  • 15. En el lenguaje de manipulación de datos, una de las operaciones más usuales es precisamente la de join de varias tablas. Veamos un ejemplo de implementación de join en Transact SQL. SELECT Libro.titulo, Autor.nomAutor FROM Libro, LibroAutor, Autor WHERE Libro.idTitulo = LibroAutor.idTitulo AND LibroAutor.idAutor = Autor.idAutor En la cláusula WHERE, además de las condiciones de join, podremos especificar otro tipo de condiciones. SELECT Libro.titulo, Autor.nomAutor , Libro.precio FROM Libro, LibroAutor, Autor WHERE Libro.idTitulo = LibroAutor.idTitulo AND LibroAutor.idTitulo.idAutor = Autor.idAutor AND Libro.precio < 20
  • 16. Operadores propios de Transact SQL Los operadores que nos proporciona SQL Server se dividen en varios grupos:  Aritméticos: realizan operaciones aritméticas. Ej.: suma, multiplicación, división, etc.  De nivel de bit: realizan operaciones transformando los operandos a bits. Ej.: AND al nivel de bit, etc.  Lógicos: realizan operaciones que devuelven un resultado lógico. Ej.: comparaciones, etc.  De cadena: realizan operaciones que afectan a strings o cadenas de caracteres. Ej.: concatenación, búsqueda, etc. Operadores Aritméticos DESCRIPCION EJEMPLO RESUTADO + Suma SELECT 2 + 4 6 - Resta SELECT 3 – 1 2 * Multiplicación SELECT 3 * 2 6 / División SELECT 6 / 2 3 % Módulo o resto de la división entera SELECT 4 % 3 1
  • 17. Operadores Nivel de Bit DESCRIPCIÓN EJEMPLO RESULTADO & AND binario (1 si los bits de ambos operandos son 1) SELECT 3 & 2 11 & 10 = 10 - > 2 | OR binario (1 si el bit de alguno de los dos operandos es 1) SELECT 3 | 2 11 | 10 = 11 -> 3 ^ OR exclusivo binario (1 si el bit de los operandos es distinto) SELECT 3 ^ 2 11 ^ 10 = 01 -> 1 ~ NOT binario (cambia el bit) SELECT ~ 2 ~10 = 01 -> 1
  • 18. Operadores lógicos DESCRIPCIÓN EJEMPLO RESULTADO = Igual SELECT 1 = 2 FALSO < Menor SELECT 1 < 2 VERDADERO > Mayor SELECT 1 > 3 FALSO >= Mayor o Igual SELECT 1 >= 1 VERDADERO <= Menor o Igual SELECT 10 <= 1 FALSO <> Distinto SELECT 1 <> 2 VERDADERO != Distinto SELECT 1 != 1 FALSO !> No Mayor SELECT 1 !> 3 VERDADERO !< No Menor SELECT 1 !<1 VERDADERO
  • 19. Operadores de Cadena DESCRIPCIÓN EJEMPLO RESULTA DO + Concatenación SELECT 'A' + 'B' AB [] Cadenas coincidentes. NOT: negación de la expresión LIKE: búsqueda por patrón SELECT * FROM tabla WHERE atributo1 LIKE '[CH]urry' Curry Hurry [^] Cadenas no coincidentes. NOT: negación de la expresión LIKE: búsqueda por patrón SELECT + FROM tabla WHERE atributo1 NOT LIKE '[^I-Z]' J,K,L,M - Cadena con ese carácter coincidente. NOT: negación de la expresión LIKE: búsqueda por patrón SELECT * FROM tabla WHERE atributo2 like '_urry' Hurry
  • 20. Otros operadores importantes aplicables a expresiones son los siguientes:  BETWEEN: Verifica los valores comprendidos dentro del rango especificado. La sintaxis es: expresion BETWEEN expresion AND expression SELECT * FROM Libro WHERE precio BETWEEN 10 AND 50  IN: Verifica si el valor especificado está contenido dentro de una lista de ellos. La sintaxis es: expresion IN lista SELECT nomAutor FROM Autor where ciudad in ('San Francisco','Salt Lake City') SELECT nomAutor FROM Autor where ciudad IN (SELECT ciudad FROM Autor WHERE estado = 'CA')