La sentencia SELECT permite obtener filas desde una tabla. La forma más sencilla es
SELECT * FROM autores;
Esto dice que se desea obtener todas las columnas, de todas las filas que hay en la tabla. El * indica ``todas las columnas''; en su lugar puede especificarse una lista de columnas separadas por comas.
autor_id | nombre | nacionalidad | fecha de nacimiento | institucion_id |
---|---|---|---|---|
1 | Edgser Dijkstra | Danés | 1930-05-11 | 2 |
2 | Niklaus Wirth | Suizo | 1934-02-15 | 1 |
Además es posible indicar que se desea sólo algunas de las filas de la tabla. Esto se hace con la cláusula WHERE:
SELECT nombre, "fecha de nacimiento" FROM autores WHERE institucion_id = 1;
Esto pide el nombre y fecha de nacimiento de los autores que pertenecen a la institución a la que se le ha asignado el ID 1.
nombre | fecha de nacimiento |
---|---|
Edgser Dijkstra | 1930-05-11 |
Observe que la cláusula WHERE puede llevar condiciones de cualquier tipo, por ejemplo:
WHERE "fecha de nacimiento" >= '1960-01-01' AND institucion_id = 5pide los autores afiliados a la institución con el ID 5, y que hayan nacido desde el año 1960 en adelante. Los operadores booleanos AND, OR y NOT, y los operadores de comparación >, >=, =, <=, <, <> están disponibles para estas operaciones, entre muchos otros. También algunas expresiones más complejas, como BETWEEN:
WHERE "fecha de nacimiento" BETWEEN '1950-01-01' AND '1960-01-01'
Algunas de las cosas que no hemos visto son el agrupamiento de registros y la agregación; el uso ya no sólo de tablas en FROM, sino también de funciones y sub-consultas; el uso de expresiones más complejas en WHERE, como IN, ANY, ALL y EXISTS; el uso de un SELECT para alimentar un INSERT, las tablas agregadas implícitamente en FROM, el uso de UNION, INTERSECT y EXCEPT, y otras características.