SQL

Consultas SQL, SQL SERVER

  > Principal > Consultas SQL
Menu consultas sql consultas access consultas en sql server consultas en MySql Consultas en PostGresql
 
.: Access
- Formularios access
- Informes access
- Formularios Arcgis
- Acceso a datos
- Ejemplos usuarios
- Libros access
- FAQ
- Cursos
- Empleo access
.: Pdas
- Programar PDA
- Tutorial
- Ejemplos
.: Php
- php basico
- formularios php
- conexion BBDD
- funciones php
- construir Intranet
- Empleo php
.: Programar Java
- Hibernate
- Spring Rich Client
- Swing
- Java
- Empleo Java
.: Blog
- Blog Access
.: SQL
- Que es sql
- Consultas SQL
- SQL Server
- SQL Server Avanzado
.: Android
- Android
- instalación SDK
.: Geotools
- Geotools
.: Foros
- Access
- PHP
- JAVA
- Android
- Programar
 
 
.: Novedades
- iphone 5
- PDANET
- Libros de access
- android
-Newssletters
 

CONSULTAS UTILES SQL

Esta sección esta dedicada a personas que tiene un nivel mínimo de Sql y quieren descubrir algunas consultas que pueden ahorrarnos mucho Trabajo. Si quieres que tu consulta o comando sql aparezca aquí no dudes en ponerte en contacto conmigo a través de mail. Voy a empezar explicando algunas consultas básicas y muy utilizadas, como son:

SENTENCIAS DISPONIBLES (haz click para acceder a la sentencia)

In Year month Between Left
Max Min Order by Cast

 

La sentencia Select , Where , From y Update, tienen una sección aparte

1.- Sentencia IN en sql

Posiblemente la sentencia a la que mas partida vamos a sacar. Esta sentencia sql sirve para obtener los registros de una tabla que están contenidos en otra diferente, teniendo en cuenta que uno de los campos (una clave) tiene que ser en comun. Por ejemplo, tenemos una tabla con Alumnos de una escuela, y una tabla con Gente que Juega en un equipo de futbol 11. Lo que queremos averiguar es que alumnos de la clase de 2 B juega en ese equipo. Es decir, que alumnos están "IN" la tabla de futbol 11, la sentencia podría ser así:

 

Select *

from Alumnos

where Cod_alumno in (select Cod_alumno from Futbol11).

Recordar poner siempre después de la sentencia IN entre paréntesis el otros Select, y que los códigos deben tener el mismo formato en las dos tablas.

Quieres saber mas sobre la sentencia in en sql , pincha aqui

2.- Sentencias YEAR MONTH DAY

 

Estas tres sentencias sirven para trabajar con fechas comodamente, si queremos saber los alumnos que nacieron en el 1981 sería:

 

Select *

from Alumnos

where year(fecha) = 1981

Para mes sería Month y para día DAY. Recordar que "fecha" debe ser un campo de tipo Date, y que el comparador es un entero (no poner entre comillas)

 

3.- Sentencia BETWEEN

Comando para obtener datos entre dos valores, tanto numéricos como de tipo Date o numerico

 

Select Nombre

From Alumno

Where fecha between '1/1/1980' and '31/12/1980'

 

En este caso serías mas efectivo utilizar el comando year(fecha) = 1980

 

4.- Sentencia LEFT

 

Este comando nos resulta muy útil cuando queremos recortar un numero determinado de caracteres en un campo, por ejemplo, tenemos una tabla con un código como este:

 

001-AAA

002-AAA

003-AAA

 

Sería bueno eliminar AAA- del código, ya que se repite siempre y no nos interesa, para ello usamos la función left, que recortara empezando por la izquierda, el comando sería:

 

Select left(codigo,3)

From tabla

 

Y el resultado sería:

001

002

003

Si lo queremos es actualizar la tabla con estos cambios pondríamos:

 

Update tabla

Set codigo = left(codigo,3)

5.- Sentencias MAX, MIN, AVG

Estas sentencias nos sirven para calcular medias, minimas y máximos de datos agrupados por algun tipo de cualidad. Por ejemplo, tenemos una tabla de futbolistas, con jugador,equipo y goles, y queremos sacar la media de goles por equipo:

 

Select equipo, avg(goles)

from jugadores

group by equipo

Observar que para este tipo de consultas sql siempre debemos incluir la sentencia group by para agrupar los datos.

Tambien podemos combinar estas consultas con la clausula Having, que sirve para filtrar el resultado o media que obtenemos. En el ejemplo anterior, si quisieramos hacer la misma consulta, pero solo de los equipos cuya media supere los 20 goles, sería asi;

 

 

Select equipo, avg(goles)

from jugadores

group by equipo

having avg(goles) > 20

6.- Sentencia ORDER BY

Se utiliza para ordernar resultados, por defecto los ordenará de menor a mayor, si quisieramos ordenar al reves añadiriamos "desc". Un ejemplo, ordenar la tabla de jugadores por goles:

 

Select Jugador,goles

from jugadores

order by goles

Este resultado nos devolveria los goleadores de menor a mayor, pero lo logico es que nos interese al reves, por lo que se sería:

 

 

Select Jugador,goles

from jugadores

order by goles desc

 

7.- Sentencia CAST

Se utiliza para convertir valores de un tipo a otro diferente, la forma de utilizarla es CAST("CAMPO" as TIPO), por ejemplo, si queremos recuperar un Integer en formato de texto, la consulta sql sería así:

 

Select CAST(goles as varchar(30))

from jugadores

where id = 100

Este resultado nos devolveria el campo goles comvertido en un parametro de tipo varchar y 30 de longitud. La sentencia Cast no siempre se puede usar, ya que no todas las conversiones son posibles, por ejemplo un integer a Date es imposible

 

 

 

8.- Sentencia GROUP BY

Esta sentencia se utiliza para agrupar resultados por un campo o grupo de campos específico, es muy util en funciones de agregado cuando queremos sacar maximos, minimos, medias, etc agrupados para una serie de valores. Por ejemplo, si tenemos una tabla estos datos: usuario, asignatura, nota, y queremos sacar una media de nota por usuario, deberíamos hacer esta consulta:

 

Select usuario,AVG(nota)

from usuarios

group by usuario

Esta sentencia GROUP BY nos devolverá la nota media por usuario, en general. Si quisieramos saber la nota media por usuario y asignatura, deberíamos añadir el campo asignatura a la sentencia GROUP BY:

 

Select usuario,asignatura, AVG(nota)

from usuarios

group by usuario,asignatura

9.- La sentencia SELECT merece una seccion aparte, pincha aqui

 

Añadir a favoritos Contacto Libros sobre access y vba Enlaces Todo Access  
 
.: En ProgramarVBA podrá encontrar:        
Visual Basic Formularios Access Informes Android PDAs Java y Sql SQL SERVER
Foro GIS Foro PDAs Tutorial VBA Bases de datos Access Foro SQL Acceso a datos access Informes access