Example table:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | CREATE TABLE newproducts ( product_id INTEGER NOT NULL, product_name VARCHAR2(60), category VARCHAR2(60), quantity INTEGER ) WITH (ORIENTATION = COLUMN) DISTRIBUTE BY HASH(product_id); INSERT INTO newproducts VALUES (1502, 'earphones', 'electronics',150); INSERT INTO newproducts VALUES (1601, 'telescope', 'toys',80); INSERT INTO newproducts VALUES (1666, 'Frisbee', 'toys',244); INSERT INTO newproducts VALUES (1700, 'interface', 'books',100); INSERT INTO newproducts VALUES (2344, 'milklotion', 'skin care',320); INSERT INTO newproducts VALUES (3577, 'dumbbell', 'sports',550); INSERT INTO newproducts VALUES (1210, 'necklace', 'jewels', 200); |
Run the SELECT... FROM... statement to obtain the result from the database.
1 2 3 4 5 6 7 8 9 10 11 | SELECT category FROM newproducts; category ------------ electr sports jewels toys books skin care toys (7 rows) |
Run the WHERE statement to filter the query result and find the queried part.
1 2 3 4 5 6 | SELECT * FROM newproducts WHERE category='toys'; product_id | product_name | category | quantity ------------+--------------+----------+---------- 1601 | telescope | toys | 80 1666 | Frisbee | toys | 244 (2 rows) |
Use the ORDER BY statement to sort query results.
1 2 3 4 5 6 7 8 9 10 11 | SELECT product_id,product_name,category,quantity FROM newproducts ORDER BY quantity DESC; product_id | product_name | category | quantity ------------+--------------+-------------+---------- 3577 | dumbbell | sports | 550 2344 | milklotion | skin care | 320 1666 | Frisbee | toys | 244 1210 | necklace | jewels | 200 1502 | earphones | electronics | 150 1700 | interface | books | 100 1601 | telescope | toys | 80 (7 rows) |
If you want the query to return only part of the result, you can use the LIMIT statement to limit the number of records returned in the query result.
1 2 3 4 5 6 7 8 9 | SELECT product_id,product_name,category,quantity FROM newproducts ORDER BY quantity DESC limit 5; product_id | product_name | category | quantity ------------+--------------+-------------+---------- 3577 | dumbbell | sports | 550 2344 | milklotion | skin care | 320 1666 | Frisbee | toys | 244 1210 | necklace | jewels | 200 1502 | earphones | electronics | 150 (5 rows) |
If you want query data comprehensively, you can use the GROUP BY statement and aggregate functions to construct an aggregated query.
1 2 3 4 5 6 7 8 9 | SELECT category, string_agg(quantity,',') FROM newproducts group by category; category | string_agg -------------+------------ toys | 80,244 books | 100 sports | 550 jewels | 200 skin care | 320 electronics | 150 |