--- tags: - Programming_Languages - Databases - sql --- # SQL: The SELECT query ## Print/retrieve/write an entire table, unfiltered ````sql SELECT * FROM [table_name] SELECT * FROM model ```` ## Retrieve all data from a specific field ````sql SELECT [field_name] FROM [table_name] SELECT name FROM manufacturer ```` ## Retrieve data and order it This example orders alphabetically: ````sql SELECT [field_name] FROM [table_name] ORDER BY [property] SELECT name FROM model ORDER BY name ```` > When `ORDER BY` is used the default method for strings is alphabetical and for integers it is ascending order. Here's a more complex real-life request: ````sql SELECT name, cores, ram FROM model ORDER BY ram, name ```` It gives us: ```` name cores ram ---------------- ---------- ---------- Commodore VIC-20 1 0.005 Commodore 64 1 0.064 Amiga 500 1 0.5 Apple Lisa 1 1.0 Raspberry Pi 1 M 1 256.0 Raspberry Pi 1 M 1 256.0 Raspberry Pi 1 M 1 512.0 Raspberry Pi 1 M 1 512.0 Raspberry Pi 1 M 1 512.0 Raspberry Pi Zer 1 512.0 ```` But we can obviously specify our own ordering method: ````sql SELECT name, cores, release_date FROM model ORDER BY cores DESC, name; ```` Returns: ```` name cores release_date ----------------- ---------- ------------ Apple MacBook Pro 6 2019-05-21 Apple iMac 4 2019-03-19 Raspberry Pi 2 Mo 4 2015-02-01 Raspberry Pi 3 Mo 4 2018-11-01 Raspberry Pi 3 Mo 4 2016-02-01 Raspberry Pi 3 Mo 4 2018-03-14 Raspberry Pi 4 Mo 4 2019-06-24 Raspberry Pi 4 Mo 4 2019-06-24 Raspberry Pi 4 Mo 4 2019-06-24 ```` > > `ORDER BY` always comes last, after the selection and any filtering clauses but *before* a `WHERE` clause