20140908050924

Páginas: 14 (3417 palabras) Publicado: 1 de octubre de 2015
Unidad 3. Consultas simples (I)
3.1. Introducción
Vamos a empezar por la instrucción que más se utiliza en SQL, la sentencia SELECT. 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. Es tan compleja quela estudiaremos a lo largo de varias
unidades didácticas incorporando poco a poco nuevas funcionalidades.
El resultado de una SELECT es una 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ásicaspara luego ir
añadiendo más cláusulas.
Empezaremos por ver las consultas más simples, basadas en una sola tabla y nos limitaremos 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, elelemento 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. En este tema veremos un origen de datos basado
en una sola tabla.
La sintaxis 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 de la 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 esquemadbo 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 de alias (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, elnombre 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 consigo misma; 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 datosde 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 a la 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...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS