Using list type
A list
is similar to a set
; it groups and stores values.
Unlike a set
, the values stored in a list
do not need to be unique and can be duplicated.
In addition, a list
stores the elements in a particular order and may be inserted or retrieved according to an index value.
Use the list
data type to store data that has a possible many-to-many relationship with another column.
Prerequisite
-
Keyspace must exist
In the following example, a list
called events
stores all the race events on an upcoming calendar.
The table is called upcoming_calendar
. Each event listed in the list
will have a text
data type.
Events can have several events occurring in a particular month and year, so duplicates can occur.
The list
can be ordered so that the races appear in the order that they will take place, rather than alphabetical order.
CREATE TABLE IF NOT EXISTS cycling.upcoming_calendar (
year int,
month int,
events list<text>,
PRIMARY KEY (year, month)
);
year | month | events
------+-------+---------------------------------------------
2015 | 6 | ['Criterium du Dauphine', 'Tour de Suisse']
2015 | 7 | ['Tour de France']
(2 rows)