Your SlideShare is downloading. ×
4 sql basico-select
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

4 sql basico-select

254
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
254
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
20
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Javier Balbuena / José Manuel Ferrer. Curso 2.001 / 2.002Escritura Básica deSentencias SQLEscritura Básica deSentencias SQL
  • 2. 1-32 Javier Balbuena / José Manuel Ferrer. Curso 2.001 / 2.002ObjetivosObjetivosAl completar esta lección, debería sercapaz de hacer lo siguiente:• Enumerar las posibilidades de unasentencia SELECT de SQL• Ejecutar una sentencia básica SELECT• Diferenciar entre sentencias SQL ycomandos de SQL*PLUSAl completar esta lecciAl completar esta leccióón, debern, deberíía sera sercapaz de hacer lo siguiente:capaz de hacer lo siguiente:• Enumerar las posibilidades de unasentencia SELECT de SQL• Ejecutar una sentencia básica SELECT• Diferenciar entre sentencias SQL ycomandos de SQL*PLUS
  • 3. 1-33 Javier Balbuena / José Manuel Ferrer. Curso 2.001 / 2.002La Sentencia SELECT de SQLLa Sentencia SELECT de SQLSelecciSeleccióónn ProjecciProjeccióónnTabla 1Tabla 1 Tabla 2Tabla 2Tabla 1Tabla 1 Tabla 1Tabla 1JoinJoin
  • 4. 1-34 Javier Balbuena / José Manuel Ferrer. Curso 2.001 / 2.002Sentencia Básica SQLSentencia Básica SQLSELECT [DISTINCT] {*, column [alias],...}FROM table;SELECT [DISTINCT] {*, column [alias],...}FROM table;•• SELECT identificaSELECT identifica ququéé columnascolumnas•• FROM identificaFROM identifica ququéé tablastablas
  • 5. 1-35 Javier Balbuena / José Manuel Ferrer. Curso 2.001 / 2.002Escritura de Sentencias SQLEscritura de Sentencias SQL•• Los Comandos pueden constar de unaLos Comandos pueden constar de unao varias lo varias lííneas.neas.•• Las tabulaciones eLas tabulaciones e indentacionesindentacionespueden ser usadas por comodidad.pueden ser usadas por comodidad.•• Las abreviaturas y separaciLas abreviaturas y separacióón den depalabras no estpalabras no estáán permitidas.n permitidas.•• Los Comandos no son caseLos Comandos no son case sensitivesensitive..
  • 6. 1-36 Javier Balbuena / José Manuel Ferrer. Curso 2.001 / 2.002Selección de Todas lasColumnasSelección de Todas lasColumnasDEPTNO DNAME LOC--------- -------------- -------------10 ACCOUNTING NEW YORK20 RESEARCH DALLAS30 SALES CHICAGO40 OPERATIONS BOSTONSQL> SELECT *2 FROM dept;
  • 7. 1-37 Javier Balbuena / José Manuel Ferrer. Curso 2.001 / 2.002Selección Específica de ColumnasSelección Específica de ColumnasDEPTNO LOC--------- -------------10 NEW YORK20 DALLAS30 CHICAGO40 BOSTONSQL> SELECT deptno, loc2 FROM dept;
  • 8. 1-38 Javier Balbuena / José Manuel Ferrer. Curso 2.001 / 2.002Etiquetas de Columnas por DefectoEtiquetas de Columnas por Defecto•• JustificaciJustificacióón de la etiqueta por defecto:n de la etiqueta por defecto:––Izquierda: fechas y caracteresIzquierda: fechas y caracteres––Derecha: datos numDerecha: datos numééricosricos•• Las etiquetas por defecto se muestranLas etiquetas por defecto se muestranen mayen mayúúsculas.sculas.
  • 9. 1-39 Javier Balbuena / José Manuel Ferrer. Curso 2.001 / 2.002Expresiones AritméticasExpresiones AritméticasOperador+-*/DescripciónSumaRestaMultiplicaciónDivisiónCrear expresiones sobre tipos de datosCrear expresiones sobre tipos de datosNUMERICOS y FECHAS usando operadores.NUMERICOS y FECHAS usando operadores.
  • 10. 1-40 Javier Balbuena / José Manuel Ferrer. Curso 2.001 / 2.002Uso de Operadores AritméticosUso de Operadores AritméticosSQL> SELECT ename, sal, sal+3002 FROM emp;ENAME SAL SAL+300---------- --------- ---------KING 5000 5300BLAKE 2850 3150CLARK 2450 2750JONES 2975 3275MARTIN 1250 1550ALLEN 1600 1900...14 rows selected.
  • 11. 1-41 Javier Balbuena / José Manuel Ferrer. Curso 2.001 / 2.002Precedencia de OperadoresPrecedencia de Operadores*** /// +++ ___•• La multiplicaciLa multiplicacióón y la divisin y la divisióón tienenn tienenprioridad sobre la suma y la resta.prioridad sobre la suma y la resta.•• Los operadores de la misma prioridadLos operadores de la misma prioridadse evalse evalúúan de izquierda a derecha.an de izquierda a derecha.•• Los parLos parééntesis pueden ser usados parantesis pueden ser usados paracambiar la prioridad de evaluacicambiar la prioridad de evaluacióón yn ypara clarificar las sentencias.para clarificar las sentencias.
  • 12. 1-42 Javier Balbuena / José Manuel Ferrer. Curso 2.001 / 2.002Precedencia de OperadoresPrecedencia de OperadoresSQL> SELECT ename, sal, 12*sal+1002 FROM emp;ENAME SAL 12*SAL+100---------- --------- ----------KING 5000 60100BLAKE 2850 34300CLARK 2450 29500JONES 2975 35800MARTIN 1250 15100ALLEN 1600 19300...14 rows selected.
  • 13. 1-43 Javier Balbuena / José Manuel Ferrer. Curso 2.001 / 2.002Uso de ParéntesisUso de ParéntesisSQL> SELECT ename, sal, 12*(sal+100)2 FROM emp;ENAME SAL 12*(SAL+100)---------- --------- -----------KING 5000 61200BLAKE 2850 35400CLARK 2450 30600JONES 2975 36900MARTIN 1250 16200...14 rows selected.
  • 14. 1-44 Javier Balbuena / José Manuel Ferrer. Curso 2.001 / 2.002Definición del Valor NULLDefinición del Valor NULL• NULL es un valor que es inaccesible, sinvalor desconocido o inaplicable.• NULL no representa ni un cero (0) ni unespacio en blanco.• NULL es un valor que es inaccesible, sinvalor desconocido o inaplicable.•• NULL no representa ni un cero (0) ni unNULL no representa ni un cero (0) ni unespacio en blanco.espacio en blanco.SQL> SELECT ename, job, comm2 FROM emp;ENAME JOB COMM---------- --------- ---------KING PRESIDENTBLAKE MANAGER...TURNER SALESMAN 0...14 rows selected.
  • 15. 1-45 Javier Balbuena / José Manuel Ferrer. Curso 2.001 / 2.002Valores NULL enExpresiones AritméticasValores NULL enExpresiones AritméticasLas expresiones aritméticas quecontengan un Null se evaluan a Null.Las expresiones aritmLas expresiones aritmééticas queticas quecontengan uncontengan un NullNull sese evaluanevaluan aa NullNull..SQL> select ename NAME, 12*sal+comm2 from emp3 WHERE ename=KING;NAME 12*SAL+COMM---------- -----------KING
  • 16. 1-46 Javier Balbuena / José Manuel Ferrer. Curso 2.001 / 2.002Definición de un Alias de ColumnaDefinición de un Alias de Columna•• Un Alias de columna renombra unUn Alias de columna renombra unencabezamiento de columna.encabezamiento de columna.•• EsEs úútil especialmente en ctil especialmente en cáálculos.lculos.•• Sigue inmediatamente al nombre de laSigue inmediatamente al nombre de lacolumna.columna.–– Palabra clave opcional AS entre el nombrePalabra clave opcional AS entre el nombrede la columna y el alias.de la columna y el alias.•• Se requiere encerrar un alias entre comillasSe requiere encerrar un alias entre comillasdobles si contiene espacios en blanco,dobles si contiene espacios en blanco,caracteres especiales o es casecaracteres especiales o es case sensitivesensitive..
  • 17. 1-47 Javier Balbuena / José Manuel Ferrer. Curso 2.001 / 2.002Uso de Alias de ColumnaUso de Alias de ColumnaSQL> SELECT ename AS name, sal salary2 FROM emp;NAME SALARY------------- ---------...SQL> SELECT ename "Name",2 sal*12 "Annual Salary"3 FROM emp;Name Annual Salary------------- -------------...
  • 18. 1-48 Javier Balbuena / José Manuel Ferrer. Curso 2.001 / 2.002Operador de ConcatenaciónOperador de ConcatenaciónEl operador de concatenaciEl operador de concatenacióón:n:•• Esta representado por dos barrasEsta representado por dos barrasverticales (||).verticales (||).•• Vincula columnas o cadenas deVincula columnas o cadenas decaracteres con otras columnas.caracteres con otras columnas.•• Crea una columna resultado que es unaCrea una columna resultado que es unaexpresiexpresióón de tipon de tipo caractercaracter..
  • 19. 1-49 Javier Balbuena / José Manuel Ferrer. Curso 2.001 / 2.002Uso delOperador de ConcatenaciónUso delOperador de ConcatenaciónSQL> SELECT ename||job AS "Employees"2 FROM emp;Employees-------------------KINGPRESIDENTBLAKEMANAGERCLARKMANAGERJONESMANAGERMARTINSALESMANALLENSALESMAN...14 rows selected.
  • 20. 1-50 Javier Balbuena / José Manuel Ferrer. Curso 2.001 / 2.002Cadenas de CaracteresCadenas de Caracteres•• Un literal es unUn literal es un caractercaracter, expresi, expresióón on onnúúmero incluido en la lista de lamero incluido en la lista de laclclááusula SELECT.usula SELECT.•• Los valores literales de tipo fecha yLos valores literales de tipo fecha ycaractercaracter deben estar encerrados dentrodeben estar encerrados dentrode comillas simples.de comillas simples.•• Por cada fila devuelta se genera unaPor cada fila devuelta se genera unacadena de caracteres.cadena de caracteres.
  • 21. 1-51 Javier Balbuena / José Manuel Ferrer. Curso 2.001 / 2.002Uso de Cadenas de CaracteresUso de Cadenas de CaracteresEmployee Details-------------------------KING is a PRESIDENTBLAKE is a MANAGERCLARK is a MANAGERJONES is a MANAGERMARTIN is a SALESMAN...14 rows selected.Employee Details-------------------------KING is a PRESIDENTBLAKE is a MANAGERCLARK is a MANAGERJONES is a MANAGERMARTIN is a SALESMAN...14 rows selected.SQL> SELECT ename || ||is a|| ||job2 AS "Employee Details"3 FROM emp;
  • 22. 1-52 Javier Balbuena / José Manuel Ferrer. Curso 2.001 / 2.002Filas DuplicadasFilas DuplicadasLas consultas, por defecto, muestrantodas las filas incluyendo las duplicadas.Las consultas, por defecto, muestranLas consultas, por defecto, muestrantodas las filas incluyendo las duplicadas.todas las filas incluyendo las duplicadas.SQL> SELECT deptno2 FROM emp;SQL> SELECT deptno2 FROM emp;DEPTNO---------10301020...14 rows selected.
  • 23. 1-53 Javier Balbuena / José Manuel Ferrer. Curso 2.001 / 2.002Eliminación de Filas DuplicadasEliminación de Filas DuplicadasLas filas duplicadas se eliminan usandoLas filas duplicadas se eliminan usandoDISTINCT en la clDISTINCT en la clááusula SELECT.usula SELECT.SQL> SELECT DISTINCT deptno2 FROM emp;DEPTNO---------102030