I understand that SQL views are essentially prewritten queries, but can a user query from multiple views using commands like JOIN and DISTINCT etc. or are they only used for very basic queries?
Views can be very handy when you are doing complex queries over multiple tables. I use them on a daily basis to preserve some queries and clean up what has been written. You can write queries with views, the query written may not look complex until you look into each view itself. I also use views for my basic queries, for example I'm always having to pull up active employee's or use that for a report. I built a view that does just that, so when I need it I don't have to rewrite it I just pull it into my query.