Sentencias select y from

Solo disponible en BuenasTareas
  • Páginas : 5 (1192 palabras )
  • Descarga(s) : 0
  • Publicado : 15 de febrero de 2011
Leer documento completo
Vista previa del texto
INGENIERIA EN SISTEMAS COMPUTACIONALES

Fundamentos de base de datos

Nombre del trabajo:
Sentencia Select, From

La sentencia SELECT es, con diferencia, la más compleja y potente de las sentencias SQL, con ella podemos recuperar datos de una o más tablas, seleccionar ciertos registros e incluso obtener resúmenes de los datos almacenados en la base de datos.
El resultado de una SELECT esuna tabla lógica que alberga las filas resultantes de la ejecución de la sentencia.
La sintaxis completa es la siguiente:
SELECT sentencia::=[WITH [,...n]]

[ORDER BY {expression_columna|posicion_columna [ASC|DESC] }
[ ,...n ]]
[COMPUTE
{{AVG|COUNT|MAX|MIN|SUM} (expression)}[ ,...n ] [BY expression[ ,...n ]]
]
[][OPTION ([ ,...n ])]
::=
{ | ( < expresion_consulta > ) }
[ {UNION [ALL]|EXCEPT|INTERSECT}
| () [...n ]
]
::=
SELECT [ALL|DISTINCT]
[TOP expresion [PERCENT] [WITH TIES] ]

[INTO nueva_tabla]
[FROM { } [ ,...n ] ]
[WHERE ]
[GROUP BY [ ALL ] expresion_agrupacion[ ,...n ]
[WITH { CUBE | ROLLUP } ]
]
[HAVING < condicion_busqueda > ]
Debido a la complejidad de la sentencia (en la sintaxis anterior no se han detallado algunos elementos), la iremos viendo poco a poco, empezaremos por ver consultas básicas para luego ir añadiendo más cláusulas.
Empezaremos por ver las consultas más simples, basadas en una sola tabla y noslimitaremos a la siguiente sintaxis:
SELECT [ALL|DISTINCT]
[TOP expresion [PERCENT] [WITH TIES]]

FROM
[WHERE ]
[ORDER BY {expression_columna|posicion_columna [ASC|DESC]} [ ,...n ]]
3.2. Origen de datos FROM
De la sintaxis anterior, el elemento indica de dónde se va a extraer la información y se indica en la cláusula FROM, es la única cláusula obligatoria. Lasintaxis será la siguiente:
::=
nb_tabla | nb_vista [[ AS ] alias_tabla ]
nb_tabla representa un nombre de tabla.
nb_vista un  nombre de vista.
Tanto para las tablas como para las vistas, podemos hacer referencia a tablas que están en otras bases de datos (siempre que tengamos los permisos adecuados), en este caso tenemos que cualificar el nombre de la tabla, indicando delante el nombre dela base de datos (Lógica) y el nombre del esquema al que pertenece la tabla dentro de la base de datos.
Por ejemplo: MiBase.dbo.MiTabla se refiere a la tabla MiTabla que se encuentra en el esquema dbo de la base de datos MiBase.
Cuando no se definen esquemas, SQL-Server crea uno por defecto en cada base de datos denominado dbo.
Opcionalmente podemos definir un nombre de alias.
Un nombre dealias (alias_tabla) es un nombre alternativo que se le da a la tabla dentro de la consulta.
Si se define un nombre de alias, dentro de la consulta, será el nombre a utilizar para referirnos a la tabla, el nombre original de la tabla  ya no tendrá validez.
Se utilizan los nombres de alias para simplificar los nombres de tablas a veces largos y también cuando  queremos combinar una tabla consigomisma; ya volveremos sobre los alias de tabla cuando veamos consultas multitabla.
La palabra AS no añade ninguna operatividad, está más por estética.
Podemos escribir:
SELECT ...
FROM tabla1 Sacamos los datos de la tabla tabla1
SELECT ...
FROM tabla1 t1 Sacamos los datos de la tabla tabla1 y le asignamos un alias de tabla: t1
SELECT ...
FROM tabla1 AS t1 Es equivalente ala sentencia anterior.
Si la tabla o la vista están en otra base de datos del mismo equipo que está ejecutando la instancia de SQL Server, se utiliza el nombre cualificado con el formato nbBaseDatos.nbEsquema.nbTabla.
Si la tabla o la vista están fuera del servidor local en un servidor vinculado, se utiliza un nombre de cuatro partes con el formato nbservidor.catalogo.nbEsquema.nbTabla....
tracking img