Calculation between column from different tables : Table Alias « Table Joins « Oracle PL/SQL Tutorial






SQL>
SQL>
SQL> create table employees(
  2    empno      NUMBER(4)
  3  , ename      VARCHAR2(8)
  4  , init       VARCHAR2(5)
  5  , job        VARCHAR2(8)
  6  , mgr        NUMBER(4)
  7  , bdate      DATE
  8  , msal       NUMBER(6,2)
  9  , comm       NUMBER(6,2)
 10  , deptno     NUMBER(2) ) ;

Table created.

SQL>
SQL>
SQL> insert into employees values(1,'Jason',  'N',  'TRAINER', 2,   date '1965-12-18',  800 , NULL,  10);

1 row created.

SQL> insert into employees values(2,'Jerry',  'J',  'SALESREP',3,   date '1966-11-19',  1600, 300,   10);

1 row created.

SQL> insert into employees values(3,'Jord',   'T' , 'SALESREP',4,   date '1967-10-21',  1700, 500,   20);

1 row created.

SQL> insert into employees values(4,'Mary',   'J',  'MANAGER', 5,   date '1968-09-22',  1800, NULL,  20);

1 row created.

SQL> insert into employees values(5,'Joe',    'P',  'SALESREP',6,   date '1969-08-23',  1900, 1400,  30);

1 row created.

SQL> insert into employees values(6,'Black',  'R',  'MANAGER', 7,   date '1970-07-24',  2000, NULL,  30);

1 row created.

SQL> insert into employees values(7,'Red',    'A',  'MANAGER', 8,   date '1971-06-25',  2100, NULL,  40);

1 row created.

SQL> insert into employees values(8,'White',  'S',  'TRAINER', 9,   date '1972-05-26',  2200, NULL,  40);

1 row created.

SQL> insert into employees values(9,'Yellow', 'C',  'DIRECTOR',10,  date '1973-04-27',  2300, NULL,  20);

1 row created.

SQL> insert into employees values(10,'Pink',  'J',  'SALESREP',null,date '1974-03-28',  2400, 0,     30);

1 row created.

SQL>
SQL>
SQL> create table salgrades
  2  ( grade      NUMBER(2)
  3  , lowerlimit NUMBER(6,2)
  4  , upperlimit NUMBER(6,2)
  5  , bonus      NUMBER(6,2)
  6  ) ;

Table created.

SQL>
SQL>
SQL> insert into salgrades values (1,  700,1200,   0);

1 row created.

SQL> insert into salgrades values (2, 1201,1400,  50);

1 row created.

SQL> insert into salgrades values (3, 1401,2000, 100);

1 row created.

SQL> insert into salgrades values (4, 2001,3000, 200);

1 row created.

SQL> insert into salgrades values (5, 3001,9999, 500);

1 row created.

SQL>
SQL>
SQL>
SQL> select e.ename           employee
  2  ,      12*e.msal+s.bonus total_salary
  3  from   employees e
  4  ,      salgrades s
  5  where  e.msal between s.lowerlimit
  6                    and s.upperlimit;

EMPLOYEE TOTAL_SALARY
-------- ------------
Jason            9600
Jerry           19300
Jord            20500
Mary            21700
Joe             22900
Black           24100
Red             25400
White           26600
Yellow          27800
Pink            29000

10 rows selected.

SQL>
SQL>
SQL> drop table employees;

Table dropped.

SQL>
SQL> drop table salgrades;

Table dropped.

SQL>








7.2.Table Alias
7.2.1.List table from two tables without indicating column owner
7.2.2.List table from two tables and specifying its column owner
7.2.3.Join tables and order by columns from different tables
7.2.4.Calculation between column from different tables
7.2.5.Join two tables and combine three tables
7.2.6.Supplying Table Aliases
7.2.7.Use * to reference all columns from a table
7.2.8.Reference column without table name during table join