Base de datos SQL Cap2-4

March 29, 2018 | Author: Francisco Reyes Valente | Category: Sql, Quotation Mark, Table (Database), Microsoft Sql Server, Data Management Software


Comments



Description

Parte 2Escribiendo sentencias básicas de SQL Querys básicos 22-1 SQL Server Básico Parte 2 SQL-Server Básico Página 1 de 24 Objetivos ¾ Al terminar esta lección, deberá ser capaz de hacer lo siguiente : ¾ Listar las capacidades de la instrucción SELECT de SQL ¾ Ejecutar una sentencia básica de SELECT Querys básicos 22-2 SQL Server Básico Parte 2 SQL-Server Básico Página 2 de 24 • Proyección: Puede utilizar esta capacidad de SQL para seleccionar columnas de la tabla.Capacidades de la instrucción SELECT Proyección Selección Tabla 1 Join Tabla 1 Tabla 2 Tabla 1 Querys básicos 22-3 SQL Server Básico Capacidades de la instrucción SELECT Una instrucción SELECT recupera información de la base de datos Utilizando esta instrucción puede realizar: • Selección: Puede utilizar esta capacidad de SQL para seleccionar renglones de la tabla que cumplan alguna condición. puede indicar tantas columnas como lo desee • Join: Puede utilizar esta capacidad para “reunir” datos almacenados en diferentes tablas. creando una liga mediante un atributo que compartan en ambas tablas (PK.FK) Parte 2 SQL-Server Básico Página 3 de 24 . column column [alias].. una instrucción SELECT debe incluir lo siguiente: • Una cláusula SELECT. la cual indica las tablas de donde se tomaran los valores de las columnas especificadas en la cláusula SELECT. • Una cláusula FROM.} [alias]..} table... {*. ¾ SELECT identifica que columnas ¾ FROM identifica cuales tablas Querys básicos 22-4 SQL Server Básico Una Instrucción Select básica En su forma mas simple.. Sintaxis: SELECT DISTINCT Se indica una lista de una o mas columnas Elimina renglones duplicados * Column Muestra todas las columnas Selecciona la columna indicada alias Etiqueta la columna con un nombre diferente al del atributo FROM Especifica la tabla que contiene las columnas Parte 2 SQL-Server Básico Página 4 de 24 . la cual especifica las columnas a ser mostradas. table.Una instrucción SELECT básica SELECT SELECT FROM FROM [DISTINCT] [DISTINCT] {*.. También puede listar todas las columnas. indicando los nombres de estas en la cláusula SELECT.Seleccionando todas las Columnas SELECT * FROM dept. la tabla DEPT contiene tres columnas DEPTNO.Loc From Dep. Parte 2 SQL-Server Básico Página 5 de 24 .Dname. Select Deptno. deptno --------10 20 30 40 dname -------------ACCOUNTING RESEARCH SALES OPERATIONS loc ------------NEW YORK DALLAS CHICAGO BOSTON Querys básicos 22-5 SQL Server Básico Seleccionando todas las columnas Para seleccionar todas las columnas de una tabla utilice (*). DNAME y LOC. Por ejemplo. En el ejemplo. El ejemplo muestra todos los números de departamento y localidades de la tabla DEPT. Por ejemplo.Seleccionando Columnas Específicas SELECT deptno. en la cláusula SELECT separadas por comas. para desplegar la localización antes del numero de departamento. SELECT Loc. Loc -------------New Cork Dallas Chicago Boston Dept. ------------------10 20 30 40 Parte 2 SQL-Server Básico Página 6 de 24 . loc FROM dept. Especifique las columnas en el orden en el que se desean que aparezcan en la consulta. deptno --------10 20 30 40 loc ------------NEW YORK DALLAS CHICAGO BOSTON Querys básicos 22-6 SQL Server Básico Seleccionando columnas especificas Puede seleccionar ciertas columnas de la tabla indicando los nombres de estas.Dept FROM Dep. Puede utilizarlos en cualquier cláusula de SQL excepto en la cláusula FROM. valores numéricos constantes y operadores aritméticos. Esto es posible utilizando expresiones aritméticas.Expresiones Aritméticas Cree expresiones con datos tipo NUMERIC Y DATE utilizando operadores aritméticos. Operador Descripción + Add - Subtract * Multiply / Divide Querys básicos 22-7 SQL Server Básico Expresiones Aritméticas Puede modificar la forma en que es mostrada la información de las columnas. Operadores Aritméticos Aquí se muestran los operadores aritméticos disponibles en SQL. ejecutando cálculos. Parte 2 SQL-Server Básico Página 7 de 24 . Una Expresión aritmética debe contener nombres de columnas. . (14 row(s) affected) Querys básicos 22-8 SQL Server Básico Utilizando Operadores Aritméticos El ejemplo muestra el uso del operador suma para ejecutar un cálculo.. ename sal ---------. sal. sal+300 FROM emp.--------KING 5000 5300 BLAKE 2850 3150 CLARK 2450 2750 JONES 2975 3275 MARTIN 1250 1550 ALLEN 1600 1900 . Parte 2 SQL-Server Básico Página 8 de 24 . es solo para la consulta. aumentando el salario en $300 para cada uno de los empleados.--------.Utilizando Operadores Aritméticos SELECT ename. Note que la columna del resultado calculado no es una nueva columna en la tabla EMP. Precedencia de los Operadores * / + _ ¾ Multiplicación y división tienen la mayor prioridad sobre los otros operadores. Querys básicos 22-9 SQL Server Básico Precedencia de los operadores Si una expresión aritmética contiene más de un operador. Si los operadores de una expresión aritmética tienen la misma prioridad la evaluación se efectúa de izquierda a derecha. ¾ Los paréntesis son utilizados para forzar la evaluación de prioridad y hacer más clara la expresión. ¾ Los operadores con igual prioridad son evaluados de izquierda a derecha. Parte 2 SQL-Server Básico Página 9 de 24 . Puede utilizar paréntesis para forzar la evaluación de los operadores con menor prioridad. la multiplicación y división son evaluadas primero. Se calcula esta compensación como una multiplicación del salario mensual por 12. (12*sal)+100. ename sal ---------. 12*sal+100 FROM emp. (14 row(s) affected) Querys básicos 22-10 SQL Server Básico Precedencia de los operadores El ejemplo muestra el nombre. salario y una compensación anual de todos los empleados.--------.Precedencia de los Operadores SELECT ename. Nota: Puede agregar paréntesis en la expresión para mejorar la claridad.. y agregándole un bono de $100. sin afectar el resultado de la consulta.. sal. Note que la multiplicación se evalúa primero. Parte 2 SQL-Server Básico Página 10 de 24 .---------KING 5000 60100 BLAKE 2850 34300 CLARK 2450 29500 JONES 2975 35800 MARTIN 1250 15100 ALLEN 1600 19300 . . 12*(sal+100) FROM emp. Debido a que los paréntesis tienen mayor prioridad sobre la multiplicación. El ejemplo muestra el nombre. La compensación se calcula como salario mensual mas un bono mensual.--------.----------KING 5000 61200 BLAKE 2850 35400 CLARK 2450 30600 JONES 2975 36900 MARTIN 1250 16200 ..Utilizando Paréntesis SELECT ename. sal. salario y una compensación anual para los empleados. (14 row(s) affected) Querys básicos 22-11 SQL Server Básico Utilizando paréntesis Puede modificar las reglas de evaluación utilizando paréntesis para indicar el orden que se evaluaran los operadores. multiplicado por 12. Parte 2 SQL-Server Básico Página 11 de 24 . ename sal ---------. pero esta columna tiene cero y no un valor nulo. comm emp. La columna COMM de la tabla EMP.Definiendo el Valor Null ¾ ¾ Null es un valor que es inaccesible. Un null no es lo mismo que cero o un espacio en blanco. Tuner. puede notar que solo aquellos que son SALESMAN (vendedores) pueden tener una comisión. SELECT FROM ename ---------KING BLAKE . TURNER . El cero es un número y los espacios en blanco son caracteres. job. job comm --------. Parte 2 SQL-Server Básico Página 12 de 24 .. a menos que dichas columnas hayan sido definidas como NOT NULL o llaves primarias (PRIMARY KEY) cuando se crea la columna.. desconocido o inaplicable.. un valor nulo NO es lo mismo que cero o espacios en blanco. Las columnas de cualquier tipo pueden contener valores nulos.. (14 row(s) ename. que es un vendedor no gana comisión alguna.--------PRESIDENT MANAGER SALESMAN 0 affected) Querys básicos 22-12 SQL Server Básico Definiendo el valor null El valor nulo es la ausencia de valor en un campo o intersección de renglón columna. 12*sal+comm FROM emp.. el resultado es nulo. SELECT ename.. KING NULL Querys básicos 22-13 SQL Server Básico Valores Nulos (Continuación) Si el contenido de una columna es nulo dentro de una expresión aritmética.Valores Null en Expresiones Aritméticas Las Expresiones Aritméticas que contienen un valor null se evaluan como null. el resultado es NULL.. null. si divide un número entre un valor nulo. Por ejemplo. Sin embargo. obtendrá un error. Parte 2 SQL-Server Básico Página 13 de 24 . ename ---------. si intenta dividir entre cero.----------. Definir un ALIAS para las columnas ¾ Renombra el encabezado de las columnas ¾ Es útil cuando se utilizan cálculos ¾ Va inmediatamente después del nombre de la columna. En muchos casos. Puede cambiar el encabezado de una columna utilizando un alias. este nombre de encabezado pudiera no ser descriptivo o ser difícil de entender. SQL normalmente utiliza el nombre de la columna desplegada como encabezado. o contiene combinación de mayúsculas y minúsculas. Especifique el alias después de la columna en la cláusula SELECT utilizando un espacio como separador. debe encerrarlo entre apóstrofos ( ' ' ) o comillas dobles ( " " ). Parte 2 SQL-Server Básico Página 14 de 24 . Si el alias contiene espacios o caracteres especiales (tales como $ o %). la palabra AS es opcional y se coloca entre el nombre de la columna y el alias ¾ Se requieren apóstrofes si el alias contiene espacios en blanco Querys básicos 22-14 SQL Server Básico Definir un ALIAS para las columnas Cuando muestra el resultado de una consulta. como ANNUAL SALARY contiene espacios debe ir encerrado entre apóstrofos (' ') o comillas dobles ( " " ). Querys básicos 22-15 SQL Server Básico Utilizando Alias El primer ejemplo muestra el nombre y el salario de todos los empleados.Utilizando Alias SELECT ename AS name.. name salary ------------..------------...--------. Name Annual Salary ------------. El encabezado de la columna será el mismo que se especifique en el alias. sal salary FROM emp. El segundo ejemplo muestra el nombre y el salario de todos los empleados. Parte 2 SQL-Server Básico Página 15 de 24 . SELECT ename "Name". sal*12 "Annual Salary" FROM emp. Note que la palabra AS es opcional y debe ser usada antes del alias de la columna. Operador de Concatenación ¾ Concatena columnas o cadenas de caracteres a otra columna ¾ Se utiliza el operador + ¾ Crea una columna resultante que es una cadena de caracteres Querys básicos 22-16 SQL Server Básico Operador de concatenación Puede encadenar columnas con otras columnas. Parte 2 SQL-Server Básico Página 16 de 24 . Todas las columnas utilizadas con operador ( + ) producen un solo resultado en la misma columna. expresiones aritméticas o valores constantes utilizando el operador de concatenación (+). Employees ------------------KINGPRESIDENT BLAKEMANAGER CLARKMANAGER JONESMANAGER MARTINSALESMAN ALLENSALESMAN . las columnas ENAME y JOB son concatenadas.Utilizando el Operador de Concatenación SELECT FROM ename + job AS "Employees" emp.. Parte 2 SQL-Server Básico Página 17 de 24 .. y se le asigna el alias Employees La palabra AS antes del alias hace que la sentencia SELECT sea mas fácil de leer. (14 row(s) affected) Querys básicos 22-17 SQL Server Básico Operador de concatenación (Continuación) En el ejemplo. Usando Literales SELECT ename + ' ' + 'is a' + ' ' + job AS "Employee Details" FROM emp. Employee Employee Details Details ------------------------------------------------KING KING is is aa PRESIDENT PRESIDENT BLAKE BLAKE is is aa MANAGER MANAGER CLARK CLARK is is aa MANAGER MANAGER JONES JONES is is aa MANAGER MANAGER MARTIN MARTIN is is aa SALESMAN SALESMAN ... sal FROM emp Monthly King: Blank: Clark: Jones: Martin: Allen: 1 1 1 1 1 1 Month Salary Month Salary Month Salary Month Salary Month Salary Month Salary Sal 5000 2850 2450 2975 1250 1600 (14 row(s) selected) Parte 2 SQL-Server Básico Página 18 de 24 .. .. (14 (14 row(s) row(s) affected) affected) Querys básicos 22-18 SQL Server Básico Usando literales En el ejemplo muestra los nombres y puestos de los empleados en forma mas legible. En el siguiente ejemplo. SELECT ename + ’: ’+ ‘ 1 ’ + ‘ Month Salary’ Monthly. el nombre y el salario de cada empleado son desplegados dando mas significado al resultado. Parte 2 SQL-Server Básico Página 19 de 24 . son todos los renglones incluyendo aquellos que estén repetidos. emp. (14 row(s) affected) Querys básicos 22-19 SQL Server Básico Renglones Duplicados A menos de que indique lo contrario.Renglones duplicados El resultado por default de una consulta. el resultado de una consulta mostrara todos los renglones aunque se repitan. Puede notar que existen departamentos repetidos.. El ejemplo anterior muestra el número de departamento de los empleados.. deptno --------10 30 10 20 . SELECT SELECT FROM FROM deptno deptno emp. y el resultado es una combinación diferente de las columnas.. incluye la palabra DISTINCT en la cláusula SELECT. SELECT DISTINCT deptno FROM emp. deptno job *-*-*-**-*-*-*10 CLERK 10 MANAGER 10 PRESIDENT 20 ANALYST …….job FROM emp. la tabla EMP tiene catorce registros pero solo existen tres departamentos diferentes. Puede utilizar DISTINCT antes de varias columnas. El calificador DISTINCT afecta a todas columnas seleccionadas . Inmediatamente después de la palabra SELECT En el ejemplo anterior. (9 row(s) affected Parte 2 SQL-Server Básico Página 20 de 24 . deptno --------10 20 30 Querys básicos 22-20 SQL Server Básico Eliminación de Renglones Duplicados Para eliminar renglones duplicados.Eliminando renglones duplicados Elimine los renglones duplicados utilizando la palabra DISTINCT en la cláusula SELECT. SELECT DISTINCT Deptno. Prácticas – Seleccionar todos los renglones en diferentes tablas – – Ejecutar cálculos aritméticos Otorgue nombres a las columnas Querys básicos 22-21 SQL Server Básico Parte 2 SQL-Server Básico Página 21 de 24 . SQL.sal Salary From emp 3.PRACTICA 1 1. 6. EMPNO ENAME JOB HIREDATE 7839 KING PRESIDENT 17-NOV-81 7698 BLAKE MANAGER 01-MAY-81 7782 CLARK MANAGER 09-JUN-81 7566 JONES MANAGER 02-APR-81 7654 MARTIN SALESMAN 28-SEP-81 7499 ALLEN SALESMAN 20-FEB-81 7844 TURNER SALESMAN 08-SEP-81 7900 JAMES CLERK 03-DEC-81 7521 WARD SALESMAN 22-FEB-81 7902 FORD ANALYST 03-DEC-81 7369 SMITH CLERK 17-DEC-80 7788 SCOTT ANALYST 09-DEC-82 7876 ADAMS CLERK 12-JAN-83 7934 MILLER CLERK 23-JAN-82 (14 row(s) affected) Parte 2 SQL-Server Básico Página 22 de 24 .SQL. hiredate y el numero de empleados en la primer columna.Inicie una sesión utilizando el user ID y password indicados por el instructor....¿Existen errores en la siguiente instrucción? Falso/verdadero.¿La siguiente instrucción SELECT se ejecutara satisfactoriamente falso/verdadero? Select ename.Ejecute la consulta s0q2q5..ename. Job.. Salary x12 Anual Salary From emp 4.job.Cree una consulta para mostrar las columnas name. 2.Muestre todos los datos de la tabla DEPT DEPTNO DNAME LOC 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON 5.. guarde su consulta SQL con el nombre s0q2q05. Select empno. Cree una consulta que muestre los puestos sin repetirse del tabal EMP.7.. JOB ANALYST CLERK MANAGER PRESIDENT SALESMAN Parte 2 SQL-Server Básico Página 23 de 24 . SALESMAN FORD. MANAGER MARTIN. ANALYST ADAMS. guarde el nuevo script como s0s2s8... Employee and Title --------*---------KING.Cargue el script s0s2s5. PRESIDENT BLAKE. CLERK WARS. MANAGER CLARK . SALESMAN JAME .sql. ANALYST SMITH. CLERK (14 row(s) affected) Parte 2 SQL-Server Básico Página 24 de 24 .8. MANAGER JONES .Muestre el nombre concatenado al puesto (job) separado por una coma y un espacio. SALESMAN ALLEN. y nombra la columna "Employeed and title”. CLERK MILLER. SALESMAN TURNER. CLERK SCOTT. Emp # Employee 7839 KING 7698 BLAKE 7782 CLARK 7566 JONES 7654 MARTIN 7499 ALLEN 7844 TURNER 7900 JAMES 7521 WARD 7902 FORD 7369 SMITH 7788 SCOTT 7876 ADAMS 7934 MILLER (14 row(s) affected) Job PRESIDENT MANAGER MANAGER MANAGER SALESMAN SALESMAN SALESMAN CLERK SALESMAN ANALYST CLERK ANALYST CLERK CLERK Hire Date 17-NOV-81 01-MAY-81 09-JUN-81 02-APR-81 28-SEP-81 20-FEB-81 08-SEP-81 03-DEC-81 22-FEB-81 03-DEC-81 17-DEC-80 09-DEC-82 12-JAN-83 23-JAN-82 9.sql cambie el nombre de las columnas como se muestra en el ejemplo.
Copyright © 2024 DOKUMEN.SITE Inc.