--- id: select title: "Fetch data: select()" slug: select --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; Performs horizontal filtering with SELECT. ```js const { data, error } = await supabase .from('cities') .select() ``` ```py # Not yet implemented ``` ## Parameters ## Notes - `select()` can be combined with [Modifiers](/docs/client/using-modifiers) - `select()` can be combined with [Filters](/docs/client/using-filters) ## Examples ### Getting your data ```js const { data, error } = await supabase .from('cities') .select() ``` ```py # Not yet implemented ``` ### Selecting specific columns You can select specific fields from your tables. ```js const { data, error } = await supabase .from('cities') .select('name') ``` ```py # Not yet implemented ``` ### Query foreign tables If your database has relationships, you can query related tables too. ```js const { data, error } = await supabase .from('countries') .select(` name, cities ( name ) `) ``` ```py # Not yet implemented ``` ### Query the same foreign table multiple times Sometimes you will need to query the same foreign table twice. In this case, you can use the name of the joined column to identify which join you intend to use. For convenience, you can also give an alias for each column. For example, if we had a shop of products, and we wanted to get the supplier and the purchaser at the same time (both in the users) table: ```js const { data, error } = await supabase .from('products') .select(` id, supplier:supplier_id ( name ), purchaser:purchaser_id ( name ) `) ``` ```py # Not yet implemented ``` ### Quering JSON data If you have data inside of a JSONB column, you can apply select and query filters to the data values. Postgres offers a [number of operators](https://www.postgresql.org/docs/9.5/functions-json.html) for querying JSON data. Also see [PostgREST docs](http://postgrest.org/en/v7.0.0/api.html#json-columns) for more details. ```js const { data, error } = await supabase .from('products') .select(` id, supplier:supplier_id ( name ), purchaser:purchaser_id ( name ) `) ``` ```py # Not yet implemented ```