View Oracle PLSQL Tutorial

SQL>
SQL> create table registrations
  2  ( attendee    NUMBER(4)
  3  , course      VARCHAR2(6)
  4  , begindate   DATE
  5  , evaluation  NUMBER(1)) ;
Table created.
SQL>
SQL> insert into registrations values (1, 'SQL',date '1999-04-12',4   );
1 row created.
SQL> insert into registrations values (2, 'SQL',date '1999-12-13',NULL);
1 row created.
SQL> insert into registrations values (3, 'SQL',date '1999-12-13',NULL);
1 row created.
SQL> insert into registrations values (4, 'OAU',date '1999-08-10',4   );
1 row created.
SQL> insert into registrations values (5, 'OAU',date '2000-09-27',5   );
1 row created.
SQL> insert into registrations values (6, 'JAV',date '1999-12-13',2   );
1 row created.
SQL> insert into registrations values (7, 'JAV',date '2000-02-01',4   );
1 row created.
SQL> insert into registrations values (8, 'JAV',date '2000-02-01',5   );
1 row created.
SQL> insert into registrations values (9, 'XML',date '2000-02-03',4   );
1 row created.
SQL> insert into registrations values (10,'XML',date '2000-02-03',5   );
1 row created.
SQL> insert into registrations values (1, 'PLS',date '2000-09-11',NULL);
1 row created.
SQL> insert into registrations values (2, 'PLS',date '2000-09-11',NULL);
1 row created.
SQL> insert into registrations values (3, 'PLS',date '2000-09-11',NULL);
1 row created.
SQL>
SQL> create or replace view avg_evaluations as
  2  select course
  3  ,      avg(evaluation) as avg_eval
  4  from   registrations
  5  group  by course;
View created.
SQL>
SQL> select *
  2  from   avg_evaluations
  3  where  avg_eval >= 4;
COURSE AVG_EVAL
------ --------
OAU           5
XML           5
SQL           4
3 rows selected.
SQL>
SQL> drop table registrations;
Table dropped.
SQL>