martes, 19 de octubre de 2010

Querys SQL, SELECT, FROM, WHERE

Gente que hay de nuevo, bueno en esta ocasion vengo con mas informacion, como lo habia informado, ahora aprederemos a hacer consultas, coemnzaremos con los mas basicos que son SELECT, FROM, WHERE. Les estare dejando en mayusculas, negrita y bien grandes las partes de sentencias para que las ubiquen facilmente.


1. La orden SELECT

Esta instrucción lo que hace es elegir un campo de la base de datos o seleccionar todos los campos, ejemplo:
Una base de amigos en la que guardamos, Nombre, Apellidos, Telefono.
Los campos son Nombre, Apellidos y Telefono.

El Select sería:

SELECT nombre : con esto seleccionamos el campo Nombre al cual despues le aplicamos una determinada instruccion, como buscar a los Jose, Pedro, etc... , al igual en vez de poner nombre podemos elegir cualquiera de los otros campos de que se compone la base de datos.

SELECT*: Con esto seleccionamos todos los campos, indistintamente de cuantos campos tengamos, ya sean tres como antes o más, da igual el número de campos, con esto los seleccionamos todos.
Estas son las dos opciones que nos da la instrucción Select.
Otro uso de Select es :

SELECT Campo as variable from tabla

Con ésta orden hacemos lo siguiente, supongamos que tenemos un campo muy largo, como Fechaaltaafiliacion, como este campo tiene un nombre muy largo, podemos asignarle una variable que sea mas pequeña, osea que sería:

SELECT Fechaaltaafiliacion as fealta from tabla , con esto conseguimos que la variable fealta que es más fácil de conocer, contenga los datos de Fechaaltaafiliacion.

2. La orden FROM

From significa desde, con esta orden hacemos referencia a la tabla que vamos a usar, el formato seria asi:

Select * FROM tabla
Con esto especificamos que seleccionamos (select) todos (*) desde la tabla , la tabla sera sustitutida por el nombre de nuestra tabla o base de datos, supongamos que tenemos una tabla llamada Clientes y que dentro tenemos los datos de todos nuestros clientes, para poder hacer uso de ellas, hariamos esto:
Select * FROM clientes
Lo que hemos hecho es seleccionar con el Select todos los registros (clientes) que tiene la base de datos, pues le hemos puesto el asterisco (*) que significa que lo seleccione todo, osea que cogeria todos los clientes que tuvieramos en ese momento dentro de la base de clientes, pues con el from le decimos que de donde tiene que cogerlo todo es desde la base clientes.

3. La orden WHERE

Where significa donde y la usaremos para hacer referencia a algo en concreto dentro de un campo de la base de datos (tabla).

Supongamos que tenemos la base de datos de clientes y la hemos seleccionado:

Select * from clientes

Esto como ya sabemos nos coge a todos los clientes que en ese momento haya dentro de la base de datos Clientes, pero y si nosotros quisieramos solo los que se llamasen por ejemplo JUAN, tendriamos que cogerlos todos y tener que comprobarlos uno a uno y ver como se llaman, pero con la clausula Where no es necesario, pues lo hace por nosotros.
Where solo necesita dos parametros, el nombre del campo donde tiene que buscar y lo que tiene que buscar, lo demas lo hace sola.

Entonces, en nuestra base de datos Clientes, tendriamos un campo que se llama Nombre y dentro de el, estan los nombre de cada uno de los clientes en sus respectivas fichas.

Para sacar a aquellos que se llamasen JUAN, solo tendriamo que hacer esto:
Select * from clientes WHERE nombre='JUAN'
Esta orden, lo que hace es coger uno a uno todos los clientes e ir comprobando que en el campo Nombre, se encuentre o no JUAN, si se encuentra , entonces lo seleccionara para mostrarlo despues, si no estuviera dicho nombre entonces lo ignoraria, como es obvio el ahorro de tiempo es muy grande.

Pero ademas, la clausula Where tiene unos parametros para hacer mas completo su uso:

SELECT * FROM clientes WHERE edad>=28 AND edad<=36
Esto selecciona todos los clientes con edades comprendidas entre los 28 y los 36 años.

SELECT * FROM clientes WHERE provincia='MADRID' OR provincia='VALENCIA OR provincia= 'BARCELONA'
Esto selecciona todos los campos de la tabla 'clientes', pero los registros de todos los clientes de las provincias de 'MADRID', 'VALENCIA' o 'BARCELONA'.

SELECT nombre, apellidos FROM clientes WHERE edad>=18
Esto selecciona los campos 'nombre' y 'apellidos' de la tabla clientes, escogiendo a aquellos clientes que sean mayor de edad (masr o igual que 18 años).

SELECT * FROM clientes WHERE edad BETWEEN 18 AND 45
Esto selecciona todos los clientes con edades comprendidas entre los 18 y los 45 años.

SELECT * FROM cuentas WHERE fecha=#7/1/97#
Esto selecciona los apuntes de 'cuentas' realizados el 1 de Julio de 1.997 (la fecha ha de indicarse en inglés (mes/día/año)).

SELECT * FROM cuentas WHERE fecha BETWEEN #7/1/97# AND #7/31/97#
Selecciona los apuntes de 'diario' realizados en Julio de 1.997.

SELECT * FROM clientes WHERE nombre LIKE 'JU*'
Esto selecciona los clientes cuyo nombre comience con los caracteres 'JU'.

SELECT * FROM clientes WHERE apellidos LIKE '*AM'
Esto selecciona los clientes cuyos apellidos terminen con los caracteres 'AM'.

SELECT * FROM clientes WHERE apellidos LIKE '*GARCI*'
Esto selecciona los clientes cuyos apellidos contengan, en cualquier posición, los caracteres 'GARCI'.
Bueno gente, aca les dejé lo mas detalladamente que pude las 3 principales sentencias, por favor, cualquier duda comentar, que eso sirve, tu sabes ja, de todas maneras publicare el video sobre como usar estas sentencias para que quede todo TOTALMENTE claro. Hasta luego, un abrazo.

16 comentarios:

  1. hum estas sentencias estan interesantes ya que algunas se me habian olvidado, pero no podrias pasar una lista mas detallada de sentencias, te estaria agradecido DJC.

    ResponderEliminar
  2. Las sentencias estan detalladas, con ejemplo ademas, pero por si no te quedo claro DJC, tambien colgaré un video realizando la mayoria de estas consultas, espero que te sirva el apoyo, saludos.

    ResponderEliminar
  3. Gracias por tu aporte, me sirvió de mucho la información, sigue así.

    ResponderEliminar
  4. En blog mencionas todo lo relacionado con SQL, bueno tengo una interrogante como puedo reducir de tamaño de crecimiento del log.

    ResponderEliminar
  5. ROMERO RUGEL: En el Blogger menciona varias condiciones de acceso a base de datos, las cuales son interesntes cuando se implementa en los diferentes lenguajes y mas cuando jalamos la información de nuestra base de datos a nuestros programas.

    ResponderEliminar
  6. Hola hermano que diferencia al transact de todos estos comandos?...ando confundido

    Oscar Gonzales

    ResponderEliminar
  7. exelente definicion de estas sentencias, bien resumidas y bien detalladas bueno para principiantes gracias

    ResponderEliminar
  8. Buen tema como recordando el curso de Base de Datos...

    Aula: 808

    ResponderEliminar
  9. para comenzar a programar en sql es necesario saber las sentencias select from y where es como decir la base y saber sus funciones para realizar consultas ingresar datos. El tutorial muy interezante y muy didáctico.
    ALUMNA: SALAZAR BUENO CLAUDIA
    210-TARDE IV
    GESTION EMPRESARIAL

    ResponderEliminar
  10. select (campos a seleccionar)
    from (que tabla)
    where (que validacion), seria bueno que en las fechas pongas conversiones
    convert(varchar(10),getdate(),112)

    20100420

    ResponderEliminar
  11. En este blog podemos encontrar información muy util en cuanto querys de bases de datos SQL, con mucho material de video que permite un entendimiento mayor del tema, aparte se mencionan otro tipo de temas en general dedicados a la tecnologia. Util.
    Att. Garcia Yalta Jean Patrick.

    ResponderEliminar
  12. Buen Blog... una pregunta...Para que sirve el INNER JOIN???

    ResponderEliminar
  13. ¿Cuales son las ventajas o las diferencias que ofrece el SQL 2008 en comparacion con el SQL 2005?

    ¿Como haces para hacer un backup de una base de datos?

    ResponderEliminar
  14. ¿Para que sirve el INNER JOIN?
    ¿Cómo hago si quiero enlazar dos campos de tablas diferentes con el mismo nombre?
    ¿Para que es la sentencia ORDER BY?

    ResponderEliminar
  15. ¿Para que sirve ORDER BY?
    ¿Cómo puedo hacer si quiero hacer una consulta y enlazar dos campos de diferentes tablas con el mismo nombre? Ej. SELECT nombre,nombre from persona,articulo ....gracias por tu aporte..

    ResponderEliminar
  16. RESPONDIENDO LA PREGUNTA ANTERIOR

    1.- ORDER BY-- PARA ORDENAR LA FILAS DE ACUERDO COMO SE REQUIERA DESC(DESCENDENTE) COMO TAMBIEN ASC (DESCENDENTE)

    SELECT COD,NOM,APE FROM [NOM_TABLE] ORDER BY COD DESC

    SELECT COD,NOM,APE FROM [NOM_TABLE] ORDER BY COD ASC

    2.-PRIMERO NO TE VA PERMITIR YA QUE PRESENTARIA AMBIGUEDA.
    EJEMPLO
    SELECT PERSONA.NOM AS [NOM_PER], ARTICULO.NOM AS [NOM_ART]
    FROM PERSONA
    INNER JOIN ARTICULO ON (PERSONA.COD=ARTICULO.COD)

    ResponderEliminar