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

el comando sería: Select left(codigo. por ejemplo.. para ello usamos la función left.3) From tabla Y el resultado sería: 001 002 003 .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. ya que se repite siempre y no nos interesa.del código. que recortara empezando por la izquierda. tenemos una tabla con un código como este: 001-AAA 002-AAA 003-AAA Sería bueno eliminar AAA.

Si lo queremos es actualizar la tabla con estos cambios pondríamos: Update tabla Set codigo = left(codigo. En el ejemplo anterior. MIN.Sentencias MAX. avg(goles) from jugadores group by equipo having avg(goles) > 20 6. AVG Estas sentencias nos sirven para calcular medias.goles from jugadores order by goles . y queremos sacar la media de goles por equipo: Select equipo. por defecto los ordenará de menor a mayor. pero solo de los equipos cuya media supere los 20 goles.3) 5.. ordenar la tabla de jugadores por goles: Select Jugador. con jugador. que sirve para filtrar el resultado o media que obtenemos.. si quisieramos hacer la misma consulta. Select equipo. si quisieramos ordenar al reves añadiriamos "desc". minimas y máximos de datos agrupados por algun tipo de cualidad. Por ejemplo. Un ejemplo.equipo y goles. 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. tenemos una tabla de futbolistas. Tambien podemos combinar estas consultas con la clausula Having.Sentencia ORDER BY Se utiliza para ordernar resultados. sería asi.

Sentencia GROUP BY Esta sentencia se utiliza para agrupar resultados por un campo o grupo de campos específico. si queremos recuperar un Integer en formato de texto. si tenemos una tabla estos datos: usuario. asignatura. es muy util en funciones de agregado cuando queremos sacar maximos.. medias.Este resultado nos devolveria los goleadores de menor a mayor. nota.AVG(nota) from usuarios group by usuario . etc agrupados para una serie de valores.goles from jugadores order by goles desc 7.. por ejemplo. 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. por ejemplo un integer a Date es imposible 8.Sentencia CAST Se utiliza para convertir valores de un tipo a otro diferente. deberíamos hacer esta consulta: Select usuario. por lo que se sería: Select Jugador. la forma de utilizarla es CAST("CAMPO" as TIPO). y queremos sacar una media de nota por usuario. minimos. ya que no todas las conversiones son posibles. Por ejemplo. pero lo logico es que nos interese al reves. La sentencia Cast no siempre se puede usar.

EQUIPOS. AVG(nota) from usuarios group by usuario. SI hemos utlizado varias tablas en la consulta. en este ejemplo tendremos dos columnas devueltas: NOMBRE Angel Alberto Juan DNI 1111 2222 3333 Todas las columnas de un select pueden ser representadas por un ALIAS. DNI from Alumnos Cada dato seleccionado en la sentencia select. sería: Select Alumnos.* from Alumnos . Si quisieramos saber la nota media por usuario y asignatura.asignatura. separados por comas.* . en general.Select dentro de un Select . deberíamos añadir el campo asignatura a la sentencia GROUP BY: Select usuario. Podemos recuperar todos los datos de la tabla que hemos puesto en FROM . utilizando la palabra AS : Select Name as NOMBRE. será una columna diferente en los datos que devuelva la consulta.asignatura Sentencia SELECT en SQL La sentencia select en SQL nos permite recuperar los datos que indiquemos.. Esto nos devolverá todos los resultados.codEquipo = Equipos. EQUIPOS where Alumno. utilizando el *. o un sobrenombre.ID 2. Todas las consultas SQL de selección empezarán por select Select NOMBRE.Esta sentencia GROUP BY nos devolverá la nota media por usuario.

La sentencia Select no solo acepta campos de tablas. (select nombre from Equipo where id = Alumnos.idequipo) from Alumnos where Name like '%angel%' En el subselect que ponemos dentro del Select debemos hacer referencia a la tabla o tablas que estan incluidas dentro del From. si no que podemos pasarle tambien una consulta completa siempre que solo devuelva un campo y no varios. como por ejemplo: Select DNI. de esta forma enlazamos los resultados de forma correcta .

Sign up to vote on this title
UsefulNot useful