CREATE TYPE STUDENT_T AS OBJECT (
NOME VARCHAR2(30),
COGNOME VARCHAR2(20),
MATRICOLA INT(6));
CREATE TYPE STUDENT_NT IS TABLE OF STUDENT_T;
CREATE TABLE CORSO_DI_LAUREA (
NOME_CORSO VARCHAR2(50),
STUDENTI STUDENT_NT )
NESTED TABLE STUDENTI STORE AS STUDEN_NT_TAB;
Check out https://asktom.oracle.com/pls/apex/asktom.search%3Ftag%3Daccessing-nested-tables-elements.
From that page we can see that your query would be somthing on the order of:
select nome_corso from coroso_id_laurea, table(studenti)
I highly agree with what they say immediately after the example:
"Finally, while you can store multiple values using nested tables, in the vast majority of cases you're better off using regular tables instead. This makes it easier to query and work with your data!"
I have done some experimentation with nested tables. For me they became a nightmare of complexity so I switched back to the standard relational model.