Q:

VIEW or MATERIALIZED VIEW?

I have two tables: CITY (~50000 rows) and COUNTRY (~220 rows). THere is a task, to provide which city is in which country via VIEW? And if you are able to use materialized view, is it better? 
I wrote current query:
CREATE VIEW cc as
SELECT ct.NAME AS "country", c.NAME AS "cty"
FROM CITY c JOIN COUNTRY ct ON cnt.CODE=c.COUNTRY;

It gives me the information I need, but I didn't realize any difference bitween normal view and materialized one. Which is relevant? 

A:

A View is "just" an SQL statement that is executed when you want to see the contents of your view.  It is not a table that actually exists in the database.  It is, by implication, up-to-date whenever you read from the view.
A materialized view is an actual table in the database.  It is created when you create it, and you have to maintain it if you want it updated.
They are different things.  Better or worse depends on your requirements.

