Está en la página 1de 2

El tercero es Transaction Control Language, TCL, que estos son comandos que se

utilizan con comandos de DML, que son los que vimos antes, que son Insert, Delete y
Update, que lo que generan estos, lo que te agrega el TCL es la capacidad de hacer
un cambio permanente, que habríamos dicho que no son autocomprometidos, bueno, si
le agregas un comando de TCL después al comando de la consulta. Generan estos...
quitaría el... se vuelve un cambio permanente. Entonces tenés el commit, que lo que
hace es guardar la operación en la base de datos, rollback es cancelar la operación
que guardaste en la base de datos, y save point es utilizado para volver atrás a un
checkpoint dado. Entonces, si vos haces un comando dml, por ejemplo, un insert, y
haces un commit, eso se guarda en la base de datos. Si después corres un rollback,
se vuelve atrás, se cancela sobre eso que enviaste, y si haces un save point, tenés
que especificar el checkpoint al cual querés volver, que en algún momento tenés que
haberlo guardado, y volver a ese estado de la base de datos. Algunos ejemplos,
delete from customers where age igual a 25, commit, para hacer el cambio. Delete
from customers where age igual a 25, rollback, para cancelar eso que se hizo. Y si
no, save point, save point name, es para volver a ese checkpoint que uno guardó.
Bien, Data Query Language. Acá es donde quería llegar, porque esto es lo que más se
va a utilizar, que son los comandos para obtener los datos de la base de datos. Es
solo un comando que es el select, que es para seleccionar datos. Después hay una
serie de operadores que vamos a ir viendo, que acompañan al select para empezar a
limitar y decirle a la consulta, cuáles son los datos que querés y en qué forma los
querés. Un ejemplo está acá, que es select, en name, que esto es employee name,
nombre de empleado, from, Gracias. Gracias. la tabla empleado. WHERE, o sea, cuando
la edad es mayor a 20. Esta es la pinta que tiene un comando SELECT. Este es un
ejemplo, el asterisco es ALL, entonces SELECT todo FROM APPS. APPS es la tabla,
dame todo de la tabla APPS. Bueno, este es el resultado. Y bueno, esto es lo que
quise poner porque vale algo así tan sencillo como esto de cuatro palabras, hasta
algo así que parece mucho más complejo. Y esto nos muestra un poco, ilustra un poco
esa flexibilidad que comenté que tenía el SQL para poder realmente llegar a
visualizar los datos de la forma que uno quiere. Entonces... Entonces vamos a hacer
un poco de zoom o doble clic en las consultas o las cláusulas, en las consultas en
el comando SELECT. ok, se dice que está compuesta por varias cláusulas, está
select, está el from, está el where, el group by, el order by y el having, estos
son los más importantes, vamos a ir uno por uno, vamos a hacer anatomía de un
comando select, entonces, siempre cada cláusula que hay que se llama uno de estos
componentes, algunos son obligatorios y otros no, los que son obligatorios son el
select y el from, el resto son opcionales, siempre van acompañados de algo, el
select va acompañado de valores de columnas, Gracias. seleccionar estas columnas,
pro va acompañado de el nombre de una tabla o una vista. Gracias. Entonces, from es
la tabla. Una vista es, lo van a ver solamente en el curso número 2, pero una vista
es... Una vez que se ha hecho la investigación, se ha hecho la investigación. es un
subconjunto de una tabla que surge de una sentencia select. Lo digo de grandes
rasgos, si alguien quiere investigar por su cuenta, adelante, pero una vista es un
subconjunto de una tabla que tiene propiedades de tabla, entonces se puede hacer
comando select a la vista directamente, en vez de hacerlo a la tabla que tal vez
uno le quiere dar acceso a un usuario a una vista, pero no le quiere dar acceso a
la tabla porque la tabla contiene otros registros que no quiere que este usuario
vea, entonces le hace una vista a este tipo de usuario y el usuario puede trabajar
con esa vista. Por ejemplo, seguimos, where, condition o expresión, entonces select
estas columnas from esta tabla, where, cuando se cumplen estas condiciones. Group
by es para agrupar los datos de algunas columnas que uno da, order by es para
ordenar en base a las columnas que uno dice, y having es algo que va luego del
group by, que después vamos a ver en detalle esto, pero es como si fuese un where
para el group by. Entonces cuando hay una función de agregación, como, ahora lo
vamos a ir viendo, pero como sumame este dato o contame cuántas veces aparece esto,
¡Gracias! el hubbing te da la posibilidad de crear un filtro sobre eso. Bien, vamos
una por una. Select, select, este es un ejemplito, ¿no? Last name y first name from
customer. Entonces, dame el last name y first name de la tabla customer y este es
el resultado. Gracias. Gracias. las columnas LASM y FORNAM que se pidieron y los
datos ahí adentro. Gracias. Agregamos WHERE, entonces dame esas dos columnas
siempre y cuando el lastName sea Smith. Ok, entonces vemos ya que el resultado se
filtra. A ver, acá en realidad debería estar solo envolviendo lastName y firstName
y estar envolviendo todo. Es un error ahí, no importa, pero observemos que, como
estamos usando el WHERE, ¿no? Sabemos que... ¿no? Gracias. LastName igual a Smith,
entonces solo nos da apellido cuando es igual a Smith. acá le digamos lo que es el
groupbyte y la función de agregación, las funciones de agregación son estas, el
count, el sum, después vamos a ver una por una, pero es cuando hay una operación de
este estilo, entonces select estados, contame la cantidad de estados, as count of
customers by state, de la tabla de customer agrupados por estado, entonces no
vuelves Gracias. No juegues. por estado, ya que pedimos que agrupe group by por
estado contame la cantidad de clientes que tengo, entonces hace eso es lo que está
haciendo, en la tabla se va a hacer customar y la... está contando las apariencias
de cada estado en la tabla customer, entonces de alguna forma lo que está haciendo
es, agrupado por estado, es, ¿qué estados tengo? FL, NS, OK y TX, ¿cuántos
customers tengo en cada estado? Eso es lo que le están pidiendo, 1, 1, 1, 2.
Gracias. Y ahí viene el having, que es lo que les dije, bueno, el having te agrega
la posibilidad de agregar una condición sobre un group ahí. Entonces, nosotros
dijimos, bueno, ¿cuántos customers tengo de cada estado? O devolverme cuántos
customers tengo cada estado para aquellos estados que tenga más de uno. Having
count state mayor a uno, y vemos el suelo de Texas. De vuelta, observen lo fácil y
legible que es esto, ¿no? Selling state count, una cuenta de los estados, as count,
esto es un alias para que después aparezca acá, de la tabla customer, agrupados por
estado. Having, teniendo que la cantidad de customers por estado sea mayor a uno.
Order by, selling last name y first name from customer, order by last name,
ordename por last name. Entonces, ordena de forma ascendiente por last name, es
decir, orden alfabético. ¿Qué sucede? Puedes ordenar por más de una columna.
Imaginemos que acá tenemos Smith y Smith, y vemos que Ron y Bill están ordenados de
esta forma. Bill, Bill, Bill antes que Ron. Entonces yo quizás quisiera ordenar por
last name y por first name después, que es esto que sucede acá. Y vemos cómo cambia
el orden de Bill y Ron, porque ordena primero por last name y después por first
name. Entonces, ponen los apellidos y ve, ok, estos dos son iguales, ¿cuál pongo
primero? Bueno, son viejitos. Bueno, vamos a first name. Bill, Bill antes que Ron,
suponemos primero Bill. Pasamos a los operadores. Los operadores se usan para
variarle condiciones a las consultas. Estas suelen estar en el web o en el hub.

También podría gustarte