<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://es.wikieducator.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://es.wikieducator.org/index.php?action=history&amp;feed=atom&amp;title=Usuario%3AManuelRomero%2FSQL</id>
		<title>Usuario:ManuelRomero/SQL - Historial de revisiones</title>
		<link rel="self" type="application/atom+xml" href="https://es.wikieducator.org/index.php?action=history&amp;feed=atom&amp;title=Usuario%3AManuelRomero%2FSQL"/>
		<link rel="alternate" type="text/html" href="https://es.wikieducator.org/index.php?title=Usuario:ManuelRomero/SQL&amp;action=history"/>
		<updated>2026-06-19T20:53:10Z</updated>
		<subtitle>Historial de revisiones para esta página en el wiki</subtitle>
		<generator>MediaWiki 1.23.14</generator>

	<entry>
		<id>https://es.wikieducator.org/index.php?title=Usuario:ManuelRomero/SQL&amp;diff=23621&amp;oldid=prev</id>
		<title>ManuelRomero en 14:40 8 may 2018</title>
		<link rel="alternate" type="text/html" href="https://es.wikieducator.org/index.php?title=Usuario:ManuelRomero/SQL&amp;diff=23621&amp;oldid=prev"/>
				<updated>2018-05-08T14:40:09Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revisión de 14:40 8 may 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 734:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 734:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Archivo:ej_func_04.png]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Archivo:ej_func_04.png]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=sql&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=sql&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;SELECT &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;INITCAP(&lt;/del&gt;last_name&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;) &amp;quot;Name&amp;quot;&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;LENGTH&lt;/del&gt;(&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;last_name&lt;/del&gt;) &amp;quot;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Length&lt;/del&gt;&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;SELECT last_name, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;round&lt;/ins&gt;(&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;MONTHS_BETWEEN(SYSDATE,hire_date&lt;/ins&gt;)&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;) as &lt;/ins&gt;&amp;quot;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Meses Trabajados&lt;/ins&gt;&amp;quot; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;FROM &lt;/del&gt;employees&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;from &lt;/ins&gt;employees&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;WHERE last_name LIKE '&amp;amp;start_letter%'&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ORDER BY last_name;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>ManuelRomero</name></author>	</entry>

	<entry>
		<id>https://es.wikieducator.org/index.php?title=Usuario:ManuelRomero/SQL&amp;diff=23616&amp;oldid=prev</id>
		<title>ManuelRomero: Página creada con «&lt;div id=parrafo&gt; ===SQL=== '''''SQL''''' es un lenguaje de consultas estructuradas o Structured Query Language. Es un lenguaje de 4º generación donde el programador o usu...»</title>
		<link rel="alternate" type="text/html" href="https://es.wikieducator.org/index.php?title=Usuario:ManuelRomero/SQL&amp;diff=23616&amp;oldid=prev"/>
				<updated>2018-05-08T13:31:28Z</updated>
		
		<summary type="html">&lt;p&gt;Página creada con «&amp;lt;div id=parrafo&amp;gt; ===SQL=== &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;SQL&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; es un lenguaje de consultas estructuradas o Structured Query Language. Es un lenguaje de 4º generación donde el programador o usu...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;div id=parrafo&amp;gt;&lt;br /&gt;
===SQL===&lt;br /&gt;
'''''SQL''''' es un lenguaje de consultas estructuradas o Structured Query Language. Es un lenguaje de 4º generación donde el programador o usuario del lenguaje especifica lo '''''qué''''' quiere, pero no establece el '''procedimiento''' a seguir para conseguirlo, no dice '''''cómo''''' ha de hacer el sistema para conseguirlo&lt;br /&gt;
{{MRM_Ejemplo|Title=Lenguaje no procedural Vs lenguaje procedural)| &lt;br /&gt;
;Con lenguaje no procedural (tipo SQL)&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
Dime todos los empleados de más de 45 años&lt;br /&gt;
o &lt;br /&gt;
Select *&lt;br /&gt;
From empleados&lt;br /&gt;
Where edad&amp;gt;45;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lenguaje procedural (tipo php o java)&lt;br /&gt;
&amp;lt;source lang=php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Abre la tabla empelados&lt;br /&gt;
Lee desde el primer registro hasta el último (Bucle)&lt;br /&gt;
     Verifica si ese empleado tiene mas de 45 &lt;br /&gt;
     Si es así añádelo a la lista de resultado&lt;br /&gt;
Muestra la lista de resultado&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{MRM_Definicion|Title=SQL|&lt;br /&gt;
Lenguaje para gestionar bases de datos '''relacionales''' cuyas '''''instrucciones o sentencias''''' especifican lo '''''qué''''' se quiere, no '''''cómo''''' se va a realizar}}&lt;br /&gt;
====Lenguajes dentro de SQL====&lt;br /&gt;
'''''SQL''''' no es, como su nombre indica, solamente un lenguaje de consultas, sino que proporciona todas las instrucciones necesarias para '''''gestionar''''' una base de datos.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''SQL'''''  incorpora tres tipos de lenguajes: de '''''Definición''', de '''''Control''''', de '''''Manipulación'''''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Las instrucciones de '''''SQL'''''  se conocen como '''''sentencias''''', y todas se caracterizan por que empiezan por una palabra reservada que identifica a qué lenguaje de los tres que tiene '''''SQL''''' pertenece esa instrucción.&amp;lt;br /&amp;gt;&lt;br /&gt;
{{MRM_Puntos clave|Title=Lenguajes SQL|&lt;br /&gt;
;DDL&lt;br /&gt;
:Lenguaje de '''''definición''''' de datos. &lt;br /&gt;
::Las sentencias de este lenguajes permite crear nuevos elementos en la base de datos como usuarios, tablas, índices, etc.&lt;br /&gt;
;DCL&lt;br /&gt;
:Lenguaje de '''''control'''''  de datos&lt;br /&gt;
::Las sentencias de este lenguaje permite gestionar permisos sobre los elementos y acciones sobre la consistencia de los datos &lt;br /&gt;
;DML&lt;br /&gt;
:Lenguaje de '''''manipulación''''' de datos&lt;br /&gt;
::Sin duda son las instrucciones o sentencias mas utilizadas en un Gestor&lt;br /&gt;
::Con ellas podemos manipular lo que se conoce como la extensión o contenido de la base de datos. Es decir actuar sobre las tuplas (insertar, modificar y borrar), y consultar&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:T111.png]]&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sentencias DDL====&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{MRM_Definicion|Title=Sentencias DDL|&lt;br /&gt;
;CREATE&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
CREATE database usuarios;&lt;br /&gt;
CREATE table usuario(&lt;br /&gt;
       password varchar(200),&lt;br /&gt;
       nombre varchar2(40)&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
;DROP&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
DROP table usuario;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
;ALTER&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
ALTER table usuarios ADD direccion varchar(20);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=====Instrucción CREATE=====&lt;br /&gt;
;Sintaxis de la instrucción&lt;br /&gt;
[[Archivo:ddl_t1.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
*Los nombres de las columnas son identificadores&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
;Tipos de datos para las columnas&lt;br /&gt;
[[Archivo:ddl_t2.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
;Especificación de Restricciones &lt;br /&gt;
[[Archivo:ddl_t3.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
;Definición de Restricciones&lt;br /&gt;
[[Archivo:ddl_t4.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
;Definición de Restricciones&lt;br /&gt;
[[Archivo:ddl_t5.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
;Restricción unique&lt;br /&gt;
[[Archivo:ddl_t6.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
;Restrición Foreign Key&lt;br /&gt;
[[Archivo:ddl_t7.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
;Restricción Ckeck&lt;br /&gt;
[[Archivo:ddl_t8.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
;Creacción de tabla como resultado de una consulta&lt;br /&gt;
[[Archivo:ddl_t9.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MRM_Actividad|Title=Crear una base de datos|&lt;br /&gt;
Crea la base de datos dado el siguiente enunciado&lt;br /&gt;
 Clientes ('''''DNI''''', nombre, dirección, edad (mayor de 18 años y menor de 65), sexo (H, M, N_A), por defecto N_A)&lt;br /&gt;
 Facturas ('''''Número''''' , fecha (por defecto la fecha actual, importe total, cantidad_productos)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{MRM_Actividad|Title=Realiza el sql de la siguiente estructura|&lt;br /&gt;
&lt;br /&gt;
[[Archivo:cliente_factura_sql.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
drop table cliente;&lt;br /&gt;
drop table facturas;&lt;br /&gt;
&lt;br /&gt;
create table cliente(&lt;br /&gt;
dni varchar2(10) primary key,&lt;br /&gt;
nombre varchar2(10) default 'mi nombre'&lt;br /&gt;
);&lt;br /&gt;
create table factura(&lt;br /&gt;
num number primary key,&lt;br /&gt;
fecha date default sysdate,&lt;br /&gt;
cantidad number default 10,&lt;br /&gt;
cliente varchar2(10),&lt;br /&gt;
constraint cliente_factura foreign key (cliente) references cliente(dni) on delete set null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
insert into  cliente (dni) values ( 1);&lt;br /&gt;
insert into  cliente (dni) values ( 2);&lt;br /&gt;
insert into  cliente (dni) values ( 3);&lt;br /&gt;
insert into  cliente (dni) values ( 4);&lt;br /&gt;
&lt;br /&gt;
insert into  factura(num, cliente) values ( 1, 1);&lt;br /&gt;
insert into  factura(num, cliente) values ( 2, 1);&lt;br /&gt;
insert into  factura(num, cliente) values ( 3, 1);&lt;br /&gt;
insert into  factura(num, cliente) values ( 4, 2);&lt;br /&gt;
insert into  factura(num, cliente) values ( 5, 3);&lt;br /&gt;
insert into  factura(num, cliente) values ( 6, 3);&lt;br /&gt;
insert into  factura(num, cliente) values ( 7, 4);&lt;br /&gt;
insert into  factura(num, cliente) values ( 8, 4);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Alter table====&lt;br /&gt;
;La sentencia ALTER TABLE se utiliza para añadir, eliminar o modificar las columnas en una tabla existente.&lt;br /&gt;
&lt;br /&gt;
*SQL ALTER TABLE&lt;br /&gt;
[[Archivo:ddl_alter_t1.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
ALTER TABLE table_name&lt;br /&gt;
ADD column_name datatype&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Eliminar una columna de una tabla&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
ALTER TABLE table_name&lt;br /&gt;
DROP COLUMN column_name&lt;br /&gt;
&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modificar co  cambiar el tipo de datos de una columna de una tabla&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
ALTER TABLE table_name&lt;br /&gt;
MODIFY column_name datatype&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
{{Nota|Ojo no violar restricciones con la modificación de la tabla}}&lt;br /&gt;
{{MRM_Actividad|Title=Modifica la tabla anterior|&lt;br /&gt;
*Añade un atributo  a cada tabla con un valor por defecto&lt;br /&gt;
*Modifica el tipo de dato de dni a 15 caracteres.&lt;br /&gt;
*Elimina los atributos añadidos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{MRM_Actividad|Title=Alter table|&lt;br /&gt;
*Supongamos que tenemos el siguiente esquema&lt;br /&gt;
 En un departamento hay empleados&lt;br /&gt;
 cada empleado pertenece a un solo departamento&lt;br /&gt;
 Cada departamento es dirigido por un empleado&lt;br /&gt;
 Un empleado puede dirigir varios departamentos&lt;br /&gt;
*En él vemos dos tablas con referencias cruzadas&lt;br /&gt;
[[Archivo:relaciones_dobles.png]]&lt;br /&gt;
*Excribe las sentencias sql que generen la estructura de base de datos&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE EMPLEADO (&lt;br /&gt;
dni varchar2(20),&lt;br /&gt;
direccion varchar2(15),&lt;br /&gt;
nombre varchar2(20) not null,&lt;br /&gt;
telefono number,&lt;br /&gt;
departamento number,&lt;br /&gt;
CONSTRAINT valor_telefono check(telefono &amp;gt; 600000000),&lt;br /&gt;
CONSTRAINT clave_ppal_empleados primary key (dni),&lt;br /&gt;
CONSTRAINT nom_tel_unico_emp unique(nombre, telefono)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE DEPARTAMENTO(&lt;br /&gt;
numero number,&lt;br /&gt;
nombre varchar2(15),&lt;br /&gt;
ubicacion varchar2(20) not null,&lt;br /&gt;
director varchar2(20),&lt;br /&gt;
constraint numero  primary key (numero),&lt;br /&gt;
constraint director foreign key (director) references EMPLEADO(dni)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
alter table EMPLEADO&lt;br /&gt;
add CONSTRAINT pertenece foreign key (departamento) references DEPARTAMENTO(numero);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
;Ahora si queremos eliminar las tablas, directamente no lo podremos hacer&lt;br /&gt;
&lt;br /&gt;
{{MRM_Clave|Title=Importante a la hora de borrar|&lt;br /&gt;
&lt;br /&gt;
;No se puede eliminar una tabla si está siendo referenciada por otra&lt;br /&gt;
*Primero habría que eliminar esa referencia&lt;br /&gt;
*En general se deben eliminar las tablas en orden inverso en el que se crearon&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
alter table departamento&lt;br /&gt;
drop constraint director;&lt;br /&gt;
drop table empleado;&lt;br /&gt;
drop table departamento;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Drop table====&lt;br /&gt;
[[Archivo:ddl_drop_t1.png]]&lt;br /&gt;
*Elimina una tabla de forma completa&lt;br /&gt;
*Si solo quire elminiar su contenido usa  la claúsula '''''trunctate'''''&lt;br /&gt;
{{MRM_Actividad|Title=Drop|&lt;br /&gt;
*Prueba a borrar una tabla&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Sentencias DCL====&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{MRM_Definicion|Title=Sentencias DCL|&lt;br /&gt;
;GRANT&lt;br /&gt;
:para asignar privilegios&lt;br /&gt;
&amp;lt;source lang=SQL&amp;gt;&lt;br /&gt;
 GRANT ALL ON database.* TO 'manuel'@'localhost'&lt;br /&gt;
 #Asigna todos los privilegios sobre las tablas &lt;br /&gt;
 #de la base de datos 'database' &lt;br /&gt;
 # al usuario 'manuel'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
;REVOKE&lt;br /&gt;
:Elimina privilegios asignados&lt;br /&gt;
;COMMIT&lt;br /&gt;
:Confirma una transacción de manera permanente en la base de datos&lt;br /&gt;
&lt;br /&gt;
;ROLLBACK&lt;br /&gt;
:Desace todos los cambios en la base de datos desde la ultima transacción confirmada&lt;br /&gt;
{{MRM_Actividad|&lt;br /&gt;
&lt;br /&gt;
*Prueba a hacer una inserción&lt;br /&gt;
*Después sal y vuelve a entrar a ver si está la tupla&lt;br /&gt;
 Esto es por que por defecto se hace un rollback a todo lo hecho&lt;br /&gt;
*Haz lo mismo haciendo un commit&lt;br /&gt;
 Ahora los cambios se mantienen&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Sentencias DML====&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{MRM_Definicion|Title=Sentencias DML|&lt;br /&gt;
;INSERT&lt;br /&gt;
:Inserta tuplas en una tabla&lt;br /&gt;
:Esta acción pude devolver algún tipo de valor booleano indicando se se ha insertado o no la tupla&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
INSERT into usuarios (nombre, password) &lt;br /&gt;
values(&amp;quot;manuel&amp;quot;, &amp;quot;password_no_segura&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
;DELETE&lt;br /&gt;
:Borra tuplas (0 o más) de una o más tablas&lt;br /&gt;
&amp;lt;source lang=php&amp;gt;&lt;br /&gt;
DELETE FROM usuarios WHERE nombre=&amp;quot;manuel&amp;quot;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
;UPDATE&lt;br /&gt;
:Actuliza tuplas (0 o más) de una o más tablas&lt;br /&gt;
:Las dos últimas sentencias ('''''UPDATE Y DELETE''''') suelen devolver un entero.&lt;br /&gt;
: Este valor  indica el número de tuplas actualizadas o borradas (0 o n)&lt;br /&gt;
: Un error se detalla con el valor (-1 o false).&lt;br /&gt;
&amp;lt;source lang=php&amp;gt;&lt;br /&gt;
UPDATE usuarios SET nombre=&amp;quot;alicia&amp;quot; WHERE nombre=&amp;quot;manolo&amp;quot;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SELECT===&lt;br /&gt;
*Esta es una claúsula especial a la que le vamos a dedicar bastante tiempo.&lt;br /&gt;
*Consiste en hacer consultas de nuestro conjunto de datos y poder recuperarlos.&lt;br /&gt;
*La cantidad de consultas que se pueden realizar es muy grande y variado, siempre que se pueda establecer la consulta y la lógica matemática de su resolución, va a haber una sentencia SQL que permita implementarla.&lt;br /&gt;
Esta sentencia que empieza por la claúsual SELECT va a terner hasta 5 posibles claúsulas, de las cuales solo son obligatorias las dos primeras&lt;br /&gt;
&amp;lt;source lang=SQL&amp;gt;&lt;br /&gt;
 SELECT&lt;br /&gt;
 FROM&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Las 5 posibles que estudaremos son &lt;br /&gt;
&amp;lt;source lang=SQL&amp;gt;&lt;br /&gt;
  SELECT &lt;br /&gt;
  FROM&lt;br /&gt;
  WHERE&lt;br /&gt;
  GROUP BY&lt;br /&gt;
   HAVING&lt;br /&gt;
 (ORDER BY)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
{{MRM_Clave|Title=Importante (lo estudiaremos)|&lt;br /&gt;
*'''''Having''''' solo se usa como opción en el '''group by'''.&lt;br /&gt;
*'''''Order by''''' es un criterio de ordenación y no se considera como cláusula propiamente dicho&lt;br /&gt;
}}&lt;br /&gt;
*Usando el álgebra relacional y permite recuperar un subconjunto de los datos de la base de datos. &lt;br /&gt;
*Esta sentencia devuelve un conjunto de tuplas  como resultado de ejecutar la consulta. &lt;br /&gt;
*Las operaciones del algebra relacional son &lt;br /&gt;
&lt;br /&gt;
;Proyecciones&lt;br /&gt;
;Selecciones&lt;br /&gt;
;Producto cartesiano&lt;br /&gt;
;Join&lt;br /&gt;
&lt;br /&gt;
====Claúsula Select====&lt;br /&gt;
[[Archivo:dml_select_t1.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:dml_select_t2.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:dml_select_t3.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:dml_select_t4.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:dml_select_t5.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:dml_select_t6.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:dml_select_t7.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:dml_select_t8.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:dml_select_t9.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:dml_select_t10.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
;Uso de funciones&lt;br /&gt;
*Podemos usar funciones sobre todas las filas y obtener el resultado.&lt;br /&gt;
*Algunas funciones típicas son &lt;br /&gt;
;Funciones de carácter&lt;br /&gt;
[[Archivo:dml_func_01.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
;Descripción de las funciones&lt;br /&gt;
[[Archivo:dml_func_02.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:dml_func_03.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
;Ejemplos&lt;br /&gt;
[[Archivo:dml_func_04.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:dml_func_05.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
;Funciones con valores numércios&lt;br /&gt;
[[Archivo:dml_func_06.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:dml_func_07.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
;Funciones con fechas&lt;br /&gt;
[[Archivo:dml_func_08.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:dml_func_09.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:dml_func_10.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
====Funciones de agregación o grupo====&lt;br /&gt;
*Son funciones que se aplican a un conjunto de valores de diferentes filas&lt;br /&gt;
*Nos darán como resultado un sólo valor&lt;br /&gt;
*Conviene renombrar la columna&lt;br /&gt;
[[Archivo:dml_func_11.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:dml_func_12.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:dml_func_13.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{MRM_Actividad|Title=Realiza las siguientes consultas|&lt;br /&gt;
*El usuario que más cobra&lt;br /&gt;
*El trabajo más remunerado&lt;br /&gt;
*La remuneración media, en número de trabajos y el que más y menos se paga&lt;br /&gt;
*El empleado con la fecha de contratación mayor y menor&lt;br /&gt;
*El total de comisiones pagadas a los empleados&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===From===&lt;br /&gt;
*Esta es una operación de un producto cartesiano&lt;br /&gt;
*El producto cartesiano consiste en juntar todas las tuplas de una relación con cada una de las tuplas de otra&lt;br /&gt;
*Genera gran cantidad de información, por ese motivo los gestores de bases de datos intentan hacerlo lo último&lt;br /&gt;
{{MRM_Actividad|Title=probar from|&lt;br /&gt;
*Realiza un producto cartesiano entre empleados y departamentos&lt;br /&gt;
}}&lt;br /&gt;
*En el from además de una relación o tabla, puede ir cualquier cosa que me devuelva una relación, incluso una consulta&lt;br /&gt;
{{MRM_Actividad|Title=probar from|&lt;br /&gt;
Realiza un producto cartesiano entre empleados y departamentos, solo nombres, y fuérzalo en el from.&lt;br /&gt;
}}&lt;br /&gt;
===Where===&lt;br /&gt;
*La claúsura '''''where''''' establece la operación de selección.&lt;br /&gt;
*Es decir de todas las filas, indica cuales son las que queremos seleccionar.&lt;br /&gt;
[[Archivo:where1.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
*En esta claúsura, utiliza operadores de comparación para establecer el criterio de las filas seleccionadas&lt;br /&gt;
[[Archivo:dml_func_14.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:dml_func_15.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:dml_func_16.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:dml_func_17.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:dml_func_18.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:dml_func_19.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:dml_func_20.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:dml_func_31.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:dml_func_22.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ejercicios ====&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{MRM_Actividad|Title=Realiza las siguientes consultas|&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ej1_query.png]]&lt;br /&gt;
*En este caso JOB_ID nos da el tipo de trabajo&lt;br /&gt;
 Secretari@ es el tipo '''''ST_CLERK'''''&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
mysql&amp;gt; SELECT *  &lt;br /&gt;
       FROM EMPLOYEES &lt;br /&gt;
       WHERE JOB_ID =&amp;quot;ST_CLERK&amp;quot;       &lt;br /&gt;
             AND       &lt;br /&gt;
             HIRE_DATE&amp;gt;&amp;quot;1997-12-31&amp;quot;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej2_query.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT LAST_NAME, JOB_ID,SALARY, COMMISSION_PCT &lt;br /&gt;
FROM EMPLOYEES&lt;br /&gt;
WHERE COMMISSION_PCT IS NOT NULL &lt;br /&gt;
ORDER BY LAST_NAME DESC;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej3_query.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT 'El salario de '||Last_name||&lt;br /&gt;
       'va a ser con un incremento del 10% de '||&lt;br /&gt;
       round(Salary *1.10) ||&lt;br /&gt;
       ' dólares' as &amp;quot;Nuevo Salario&amp;quot;&lt;br /&gt;
FROM EMPLOYEES&lt;br /&gt;
where COMMISSION_pCT IS NULL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej4_query.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
select last_name, &lt;br /&gt;
       trunc(months_between(sysdate, hire_date)/12) as &amp;quot;años&amp;quot;,&lt;br /&gt;
       trunc(mod(months_between(sysdate, hire_date),12))as &amp;quot;meses&amp;quot;&lt;br /&gt;
from employees&lt;br /&gt;
order by hire_date;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej5.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
select last_name, salary, decode (commission_pct, &lt;br /&gt;
                                                NULL, 'No' ,&lt;br /&gt;
                                                'Yes') as &amp;quot;comisión&amp;quot;&lt;br /&gt;
from employees&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej6.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
select department_name, location_id,job_id, salary&lt;br /&gt;
from departments d, employees e&lt;br /&gt;
where d.department_id = e.department_id&lt;br /&gt;
       and&lt;br /&gt;
       location_id = '&amp;amp;localizacion';&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej7.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
select count(*) &lt;br /&gt;
from employees&lt;br /&gt;
where last_name like '%n'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej8.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT COUNT(*)&lt;br /&gt;
FROM employees&lt;br /&gt;
WHERE last_name LIKE '%n';&lt;br /&gt;
--or&lt;br /&gt;
SELECT COUNT(*)&lt;br /&gt;
FROM employees&lt;br /&gt;
WHERE SUBSTR(last_name, -1) = 'n';&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej9.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT d.department_id, d.department_name, d.location_id, COUNT(e.employee_id)&lt;br /&gt;
FROM  employees e &lt;br /&gt;
      RIGHT OUTER JOIN departments d&lt;br /&gt;
 ON&lt;br /&gt;
     e.department_id = d.department_id&lt;br /&gt;
GROUP BY d.department_id, d.department_name, d.location_id;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej10.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT DISTINCT job_id&lt;br /&gt;
FROM employees&lt;br /&gt;
WHERE department_id IN (10, 20);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej11.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT e.job_id, count(e.job_id) FREQUENCY&lt;br /&gt;
FROM employees e &lt;br /&gt;
     JOIN departments d&lt;br /&gt;
     ON e.department_id = d.department_id&lt;br /&gt;
WHERE   d.department_name IN ('Administration', 'Executive')&lt;br /&gt;
GROUP BY e.job_id&lt;br /&gt;
ORDER BY FREQUENCY DESC;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej12.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT last_name, hire_date&lt;br /&gt;
FROM  employees&lt;br /&gt;
WHERE TO_CHAR(hire_date, 'DD') &amp;lt; 16;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej13.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT last_name, salary, TRUNC(salary, -3)/1000&lt;br /&gt;
FROM  employees;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej14.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT e.last_name, m.last_name manager, m.salary,&lt;br /&gt;
j.grade_level&lt;br /&gt;
FROM  employees e JOIN employees m&lt;br /&gt;
      ON    e.manager_id = m.employee_id&lt;br /&gt;
     JOIN job_grades j&lt;br /&gt;
     ON   m.salary BETWEEN j.lowest_sal AND j.highest_sal&lt;br /&gt;
     AND  m.salary &amp;gt; 15000; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej15.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT   d.department_id, d.department_name, count(e1.employee_id) employees,  &lt;br /&gt;
         NVL(TO_CHAR(AVG(e1.salary), '99999.99'), 'No average') avg_sal,  &lt;br /&gt;
         e2.last_name, e2.salary, e2.job_id&lt;br /&gt;
FROM  departments d RIGHT OUTER JOIN employees e1&lt;br /&gt;
      ON  d.department_id = e1.department_id&lt;br /&gt;
      RIGHT OUTER JOIN employees e2&lt;br /&gt;
      ON   d.department_id = e2.department_id&lt;br /&gt;
      GROUP BY d.department_id, d.department_name, e2.last_name,&lt;br /&gt;
           e2.salary,&lt;br /&gt;
           e2.job_id&lt;br /&gt;
      ORDER BY d.department_id, employees;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej16.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT department_id, MIN(salary)&lt;br /&gt;
FROM  employees&lt;br /&gt;
GROUP BY department_id&lt;br /&gt;
HAVING AVG(salary) = (SELECT MAX(AVG(salary))&lt;br /&gt;
                      FROM  employees&lt;br /&gt;
                      GROUP BY department_id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej17.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT *&lt;br /&gt;
FROM&lt;br /&gt;
departments&lt;br /&gt;
WHERE   department_id NOT IN(SELECT department_id&lt;br /&gt;
                             FROM employees&lt;br /&gt;
                             WHERE job_id = 'SA_REP' &lt;br /&gt;
                               AND department_id IS NOT NULL);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej18.png]]&lt;br /&gt;
;a) Contrate menos de tres empleados:&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT d.department_id, d.department_name, COUNT(*)&lt;br /&gt;
FROM&lt;br /&gt;
departments d JOIN employees e&lt;br /&gt;
ON&lt;br /&gt;
d.department_id = e.department_id&lt;br /&gt;
GROUP BY d.department_id, d.department_name&lt;br /&gt;
HAVING COUNT(*) &amp;lt; 3;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
;b) Tenga el mayor número de empleados:&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT d.department_id, d.department_name, COUNT(*)&lt;br /&gt;
FROM&lt;br /&gt;
departments d JOIN employees e&lt;br /&gt;
ON&lt;br /&gt;
d.department_id = e.department_id&lt;br /&gt;
GROUP BY d.department_id, d.department_name&lt;br /&gt;
HAVING COUNT(*) = (SELECT MAX(COUNT(*))&lt;br /&gt;
FROM&lt;br /&gt;
employees&lt;br /&gt;
GROUP BY department_id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;c) Tenga el menor número de empleados:&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT d.department_id, d.department_name, COUNT(*)&lt;br /&gt;
FROM&lt;br /&gt;
departments d JOIN employees e&lt;br /&gt;
ON&lt;br /&gt;
d.department_id = e.department_id&lt;br /&gt;
GROUP BY d.department_id, d.department_name&lt;br /&gt;
HAVING COUNT(*) = (SELECT MIN(COUNT(*))&lt;br /&gt;
FROM&lt;br /&gt;
employees&lt;br /&gt;
GROUP BY department_id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej19.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT e.employee_id, e.last_name, e.department_id, e.salary,&lt;br /&gt;
AVG(s.salary)&lt;br /&gt;
FROM&lt;br /&gt;
employees e JOIN employees s&lt;br /&gt;
ON&lt;br /&gt;
e.department_id = s.department_id&lt;br /&gt;
GROUP BY e.employee_id, e.last_name, e.department_id,&lt;br /&gt;
e.salary;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej20.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT last_name, TO_CHAR(hire_date, 'DAY') day&lt;br /&gt;
FROM  employees&lt;br /&gt;
WHERE TO_CHAR(hire_date, 'Day') = (SELECT TO_CHAR(hire_date, 'Day')&lt;br /&gt;
                                    FROM employees&lt;br /&gt;
                                    GROUP BY TO_CHAR(hire_date, 'Day')&lt;br /&gt;
                                    HAVING COUNT(*) = (SELECT MAX(COUNT(*))&lt;br /&gt;
                                                       FROM    employees&lt;br /&gt;
                                                       GROUP BY TO_CHAR(hire_date,'Day')));&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej21.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT last_name, TO_CHAR(hire_date, 'Month DD') BIRTHDAY&lt;br /&gt;
FROM employees&lt;br /&gt;
ORDER BY TO_CHAR(hire_date, 'DDD');&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Funciones de conversión de tipos====&lt;br /&gt;
[[Archivo:func_conv1.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:func_conv1.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:func_conv2.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:func_conv3.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:func_conv4.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:func_conv5.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:func_conv6.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:func_conv7.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:func_conv8.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:func_conv9.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:func_conv10.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
====Funciones de agrupación o grupo====&lt;br /&gt;
*Son funciones que nos va a mostrar un valor por cada conjunto de filas a las que se aplica la función&lt;br /&gt;
[[Archivo:sql_group1.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:sql_group2.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:sql_group3.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:sql_group4.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:sql_group5.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:sql_group6.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:sql_group7.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:sql_group8.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:sql_group9.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:sql_group10.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:sql_group11.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:sql_group12.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:sql_group13.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:sql_group14.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:sql_group15.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:sql_group16.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:sql_group17.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:sql_group18.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
====Actividades de funciones y agregados====&lt;br /&gt;
[[Archivo:ej_func_01.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT sysdate &amp;quot;Date&amp;quot;&lt;br /&gt;
FROM  dual;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej_func_01.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej_func_02.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT employee_id, last_name, salary, ROUND(salary * 1.155, 0) &amp;quot;New Salary&amp;quot;&lt;br /&gt;
FROM employees;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej_func_03.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SELECT INITCAP(last_name) &amp;quot;Name&amp;quot;, LENGTH(last_name) &amp;quot;Length&amp;quot;&lt;br /&gt;
FROM employees&lt;br /&gt;
WHERE last_name LIKE 'J%' OR last_name LIKE 'M%' OR  last_name LIKE 'A%'&lt;br /&gt;
 ORDER BY last_name ;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej_func_04.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT INITCAP(last_name) &amp;quot;Name&amp;quot;, LENGTH(last_name) &amp;quot;Length&amp;quot;&lt;br /&gt;
FROM employees&lt;br /&gt;
WHERE last_name LIKE '&amp;amp;start_letter%'&lt;br /&gt;
ORDER BY last_name;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej_func_05.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT INITCAP(last_name) &amp;quot;Name&amp;quot;, LENGTH(last_name) &amp;quot;Length&amp;quot;&lt;br /&gt;
FROM employees&lt;br /&gt;
WHERE last_name LIKE UPPER('&amp;amp;start_letter%' )&lt;br /&gt;
ORDER BY last_name;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej_func_06.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT last_name, ROUND(MONTHS_BETWEEN(&lt;br /&gt;
SYSDATE, hire_date)) MONTHS_WORKED&lt;br /&gt;
FROM&lt;br /&gt;
employees&lt;br /&gt;
ORDER BY months_worked;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej_func_07.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT last_name, LPAD(salary, 15, '$') SALARY&lt;br /&gt;
FROM employees;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej_func_08.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT rpad(last_name, 8)||' '|| rpad(' ', salary/1000+1, '*') EMPLOYEES_AND_THEIR_SALARIES&lt;br /&gt;
FROM employees&lt;br /&gt;
ORDER BY salary DESC;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej_func_09.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT last_name, trunc((SYSDATE-hire_date)/7) AS TENURE&lt;br /&gt;
FROM employees&lt;br /&gt;
WHERE department_id = 90&lt;br /&gt;
ORDER BY TENURE DESC&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej_func_10.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT last_name, hire_date,&lt;br /&gt;
TO_CHAR(hire_date, 'DAY') DAY&lt;br /&gt;
FROM employees&lt;br /&gt;
ORDER BY TO_CHAR(hire_date - 1, 'd');&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej_func_11.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT last_name, NVL(TO_CHAR(commission_pct), 'No Commission') COMM&lt;br /&gt;
FROM employees&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej_func_12.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT job_id, decode (job_id,&lt;br /&gt;
'ST_CLERK', 'E'&lt;br /&gt;
'SA_REP', 'D'&lt;br /&gt;
'IT_PROG','C'&lt;br /&gt;
'ST_MAN','B'&lt;br /&gt;
'AD_PRES','A'&lt;br /&gt;
'0')GRADE&lt;br /&gt;
FROM employees;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej_func_13.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT last_name, hire_date,&lt;br /&gt;
TO_CHAR(NEXT_DAY(ADD_MONTHS(hire_date, 6),'MONDAY'),&lt;br /&gt;
'fmDay, &amp;quot;the&amp;quot; Ddspth &amp;quot;of&amp;quot; Month, YYYY') REVIEW&lt;br /&gt;
FROM&lt;br /&gt;
employees;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej_func_14.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej_func_15.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT ROUND(MAX(salary),0) &amp;quot;Maximum&amp;quot;,&lt;br /&gt;
ROUND(MIN(salary),0)&amp;quot;Minimum&amp;quot;,&lt;br /&gt;
ROUND(SUM(salary),0)&amp;quot;Sum&amp;quot;,&lt;br /&gt;
ROUND(AVG(salary),0)&amp;quot;Average&amp;quot;&lt;br /&gt;
FROM&lt;br /&gt;
employees;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej_func_16.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT ROUND(MAX(salary),0) &amp;quot;Maximum&amp;quot;,&lt;br /&gt;
ROUND(MIN(salary),0)&amp;quot;Minimum&amp;quot;,&lt;br /&gt;
ROUND(SUM(salary),0)&amp;quot;Sum&amp;quot;,&lt;br /&gt;
ROUND(AVG(salary),0)&amp;quot;Average&amp;quot;&lt;br /&gt;
FROM employees;&lt;br /&gt;
GROUP BY job_id;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej_func_17.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT job_id, COUNT(*)&lt;br /&gt;
FROM employees&lt;br /&gt;
WHERE job_id = '&amp;amp;job_title'&lt;br /&gt;
GROUP BY job_id;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej_func_18.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT COUNT(DISTINCT manager_id) &amp;quot;Number of Managers&amp;quot;&lt;br /&gt;
FROM employees;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej_func_19.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT MAX(salary) - MIN(salary) DIFFERENCE&lt;br /&gt;
FROM  employees;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej_func_20.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT manager_id, MIN(salary)&lt;br /&gt;
FROM employees&lt;br /&gt;
WHERE manager_id IS NOT NULL&lt;br /&gt;
GROUP BY manager_id&lt;br /&gt;
HAVING MIN(salary) &amp;gt; 6000&lt;br /&gt;
ORDER BY MIN(salary) DESC;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
[[Archivo:ej_func_21.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
columna adecuadas.&lt;br /&gt;
SELECT COUNT(*) total, SUM(DECODE(TO_CHAR(hire_date, 'YYYY'),1995,1,0))&amp;quot;1995&amp;quot;,&lt;br /&gt;
                       SUM(DECODE(TO_CHAR(hire_date,'YYYY'),1996,1,0))&amp;quot;1996&amp;quot;,&lt;br /&gt;
                       SUM(DECODE(TO_CHAR(hire_date,'YYYY'),1997,1,0))&amp;quot;1997&amp;quot;,&lt;br /&gt;
                       SUM(DECODE(TO_CHAR(hire_date, 'YYYY'),1998,1,0))&amp;quot;1998&amp;quot;&lt;br /&gt;
FROM employees;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Archivo:ej_func_22.png]]&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
SELECT job_id &amp;quot;Job&amp;quot;, SUM(DECODE(department_id, 20,salary)) &amp;quot;Dept 20&amp;quot;,&lt;br /&gt;
                     SUM(DECODE(department_id, 50,salary)) &amp;quot;Dept 50&amp;quot;,&lt;br /&gt;
                     SUM(DECODE(department_id, 80,salary)) &amp;quot;Dept 80&amp;quot;,&lt;br /&gt;
                     SUM(DECODE(department_id, 90,salary)) &amp;quot;Dept 90&amp;quot;,&lt;br /&gt;
FROM employees&lt;br /&gt;
GROUP BY job_id;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;/div&gt;</summary>
		<author><name>ManuelRomero</name></author>	</entry>

	</feed>