Sei sulla pagina 1di 35

SQL> connect

Enter user-name: system

Enter password:

Connected.

SQL>

1 create table salesmen(

2 2 snum number(4) primary key,

3 3 sname varchar2(10),

4* 4 city varchar2(10),

SQL> create table salesmen(snum number(4) primary key,sname varchar2(15),city


varchar(15),commission number(3));

Table created.

SQL> create table customers(

2 cnum number(4) primary key,

3 cname varchar2(10),

4 city varchar2(10),

5 rating number(4),

6 snum number(4),

7 foreign key (snum) references salesmen(snum));

Table created.

SQL> create table orderX(

2 onum number(4) primary key,

3 amount number(8),

4 odate date default sysdate,

5 cnum number(4),
6 snum number(4),

7 foreign key (snum) references salesmen(snum),

8 foreign key (cnum) references customers(cnum));

Table created.

SQL> insert into salesmen values(1001,'piyush','london',12);

1 row created.

SQL> insert into salesmen values(1002,'sejal','surat',13);

1 row created.

SQL> insert into salesmen values(1004,'miti','london',11);

1 row created.

SQL> insert into salesmen values(1007,'rajesh','baroda',15);

1 row created.

SQL> insert into salesmen values(1003,'anand','new delhi',10);

1 row created.

SQL> insert into customers (cnum,cname,city,rating) values(2001,'harsh','london'

2 ,100);
1 row created.

SQL> insert into customers (cnum,cname,city,rating) values(2002,'gita','rome',200);

1 row created.

SQL> insert into customers (cnum,cname,city,rating) values(2003,'lalit','surat',

2 200);

1 row created.

SQL> insert into customers (cnum,cname,city,rating) values(2004,'govind','mumbai

2 ',300);

1 row created.

SQL> insert into customers (cnum,cname,city,rating) values(2006,'chirag','london

2 ',100);

1 row created.

SQL> insert into customers (cnum,cname,city,rating) values(2008,'chinmay','surat

2 ',300);

1 row created.

SQL> insert into customers (cnum,cname,city,rating) values(2007,'pratik','rome',

2 100);
1 row created.

SQL> alter table orderX modify amount number(8,2);

Table altered.

SQL> insert into orderX(onum,amount,odate) values(3001,18.69,date '1997-03-10');

1 row created.

SQL> insert into orderX(onum,amount,odate) values(3003,767.19,date '1997-03-10')

2 ;

1 row created.

SQL> insert into orderX(onum,amount,odate) values(3005,5160.45,date '1997-03-10'

2 );

1 row created.

SQL> insert into orderX(onum,amount,odate) values(3006,1098.16,date '1997-03-10'

2 );

1 row created.

SQL> insert into orderX(onum,amount,odate) values(3009,1713.23,date '1997-04-10'

2 );
1 row created.

SQL> insert into orderX(onum,amount,odate) values(3007,75.75,date '1997-04-10');

1 row created.

SQL> insert into orderX(onum,amount,odate) values(3008,4723.00,date '1997-05-10'

2 );

1 row created.

SQL> insert into orderX(onum,amount,odate) values(3010,1309.95,date '1997-06-10'

2 );

1 row created.

SQL> insert into orderX(onum,amount,odate) values(3011,9891.88,date '1997-06-10'

2 );

1 row created.

SQL> update customers set snum=1001 where cnum=2001;

1 row updated.

SQL> update customers set snum=1003 where cnum=2002;

1 row updated.
SQL> update customers set snum=1002 where cnum=2003;

1 row updated.

SQL> update customers set snum=1002 where cnum=2004;

1 row updated.

SQL> update customers set snum=1001 where cnum=2006;

1 row updated.

SQL> update customers set snum=1007 where cnum=2008;

1 row updated.

SQL> update customers set snum=1004 where cnum=2007;

1 row updated.

SQL> update orderX set cnum=2008 where onum=3001;

1 row updated.

SQL> update orderX set snum=1007 where onum=3001;

1 row updated.

SQL> update orderX set cnum=2001 where onum=3003;


1 row updated.

SQL> update orderX set cnum=2001 where onum=3003;

1 row updated.

SQL> update orderX set cnum=2003 where onum=3005;

1 row updated.

SQL> update orderX set snum=1002 where onum=3005;

1 row updated.

SQL> update orderX set snum=1002 where onum=3006

2 ;

1 row updated.

SQL> update orderX set snum=1002 where onum=3005;

1 row updated.

SQL> update orderX set cnum=2008 where onum=3006;

1 row updated.

SQL> update orderX set snum=1007 where onum=3006;


1 row updated.

SQL> update orderX set cnum=2002 where onum=3009;

1 row updated.

SQL> update orderX set snum=1003 where onum=3009;

1 row updated.

SQL> update orderX set cnum=2004 where onum=3007;

1 row updated.

SQL> update orderX set snum=1002 where onum=3007;

1 row updated.

SQL> update orderX set cnum=2006 where onum=3008;

1 row updated.

SQL> update orderX set snum=1001 where onum=3008;

1 row updated.

SQL> update orderX set cnum=2004 where onum=3010;


1 row updated.

SQL> update orderX set snum=1002 where onum=3010;

1 row updated.

SQL> update orderX set cnum=2006 where onum=3011;

1 row updated.

SQL> update orderX set snum=1001 where onum=3011;

1 row updated.

SQL> select *from customers;

CNUM CNAME CITY RATING

SNUM

---------- ---------- ---------- ---------- ----------

2001 harsh london 100

1001

2002 gita rome 200

1003

2003 lalit surat 200

1002

2004 govind mumbai 300

1002

2006 chirag london 100

1001
2008 chinmay surat 300

1007

2007 pratik rome 100

1004

7 rows selected.

SQL> select *from salesmen;

SNUM SNAME CITY COMMISSION

---------- --------------- --------------- ----------

1001 piyush london

12

1002 sejal surat

13

1004 miti london

11

1007 rajesh baroda

15

1003 anand new delhi

10

SQL> select *from orderx;

ONUM AMOUNT ODATE CNUM

SNUM

---------- ---------- --------- ---------- ----------

3001 18.69 10-MAR-97 2008

1007
3003 767.19 10-MAR-97 2001

3005 5160.45 10-MAR-97 2003

1002

3006 1098.16 10-MAR-97 2008

1007

3009 1713.23 10-APR-97 2002

1003

3007 75.75 10-APR-97 2004

1002

3008 4723 10-MAY-97 2006

1001

3010 1309.95 10-JUN-97 2004

1002

3011 9891.88 10-JUN-97 2006

1001

9 rows selected.

SQL> select max(amount) from orderX where snum=1002;

MAX(AMOUNT)

-----------

5160.45

SQL> select max(amount) from orderX where snum=1007;

MAX(AMOUNT)

-----------

1098.16
SQL> select count(odate) from orderX where odate='10-Mar-1997';

COUNT(ODATE)

------------

SQL> select count(onum) from orderX;

COUNT(ONUM)

-----------

SQL> select avg(amount) from orderX;

AVG(AMOUNT)

-----------

2750.92222

SQL> select count(snum) from orderX;

COUNT(SNUM)

-----------

SQL> select odate,snum,max(amount) from orderX group by odate,snum;

ODATE SNUM MAX(AMOUNT)

--------- ---------- -----------


10-APR-97 1003 1713.23

10-MAR-97 1002 5160.45

10-JUN-97 1002 1309.95

10-APR-97 1002 75.75

10-MAR-97 767.19

10-MAY-97 1001 4723

10-JUN-97 1001 9891.88

10-MAR-97 1007 1098.16

8 rows selected.

SQL> select max(amount) from orderX where odate='10-Mar-1997';

MAX(AMOUNT)

-----------

5160.45

SQL> select count(distinct city) from customers;

COUNT(DISTINCTCITY)

-------------------

SQL> select min(amount) from orderX group by cnum;

MIN(AMOUNT)

-----------

767.19

4723
5160.45

75.75

18.69

1713.23

6 rows selected.

SQL> select count(snum) from orderX group by odate;

COUNT(SNUM)

-----------

SQL> select cname,sname from customers,salesmen where customers.snum=salesmen.sn

2 um;

um

ERROR at line 2:

ORA-00933: SQL command not properly ended

SQL> select cname,sname from customers,salesmen where customers.snum=salesmen.snum;

CNAME SNAME

---------- ---------------

harsh piyush
gita anand

lalit sejal

govind sejal

chirag piyush

chinmay rajesh

pratik miti

7 rows selected.

SQL> select customers.city,salesmen.city,cname,sname from customers,salesmen

2 where customers.city=salesmen.city;

CITY CITY CNAME SNAME

---------- --------------- ---------- ---------------

london london harsh miti

london london harsh piyush

surat surat lalit sejal

SQL> select salesmen.sname,customers.cname,onum from salesmen,customers,orderX where


salesmen.snum=customers.cnum and customers.cnum=orderx.cnum and orderx.snum=salesmen.snum;

no rows selected

SQL> select salesmen.sname,customers.cname,onum from salesmen,customers,orderX where


salesmen.snum=customers.snum and customers.cnum=orderx.cnum and orderx.snum=salesmen.snum;

SNAME CNAME ONUM

--------------- ---------- ----------

rajesh chinmay 3001


sejal lalit 3005

rajesh chinmay 3006

anand gita 3009

sejal govind 3007

piyush chirag 3008

sejal govind 3010

piyush chirag 3011

8 rows selected.

SQL> select CNAME, SNAME from Customers, Salesmen where Customers.SNUM=Salesmen.SNUM;

CNAME SNAME

---------- ---------------

harsh piyush

gita anand

lalit sejal

govind sejal

chirag piyush

chinmay rajesh

pratik miti

7 rows selected.

SQL> select CNAME, SNAME, Customers.CITY from Customers, Salesmen where


Customers.CITY=Salesmen.CITY;

CNAME SNAME CITY

---------- --------------- ----------


harsh miti london

harsh piyush london

lalit sejal surat

SQL> Select OrderX.ONUM, OrderX.AMOUNT, OrderX.ODATE, OrderX.SNUM, Salesmen.SNAME,


OrderX.CNUM, Customers.CNAME from OrderX, Salesmen, Customers where
OrderX.CNUM=Customers.CNUM AND OrderX.SNUM=Salesmen.SNUM;

ONUM AMOUNT ODATE SNUM SNAME CNUM CNAME

---------- ---------- --------- ---------- --------------- ---------- ----------

3009 1713.23 10-APR-97 1003 anand 2002 gita

3005 5160.45 10-MAR-97 1002 sejal 2003 lalit

3010 1309.95 10-JUN-97 1002 sejal 2004 govind

3007 75.75 10-APR-97 1002 sejal 2004 govind

3011 9891.88 10-JUN-97 1001 piyush 2006 chirag

3008 4723 10-MAY-97 1001 piyush 2006 chirag

3006 1098.16 10-MAR-97 1007 rajesh 2008 chinmay

3001 18.69 10-MAR-97 1007 rajesh 2008 chinmay

8 rows selected.

SQL> select OrderX.ONUM, OrderX.AMOUNT, OrderX.ODATE, OrderX.SNUM, OrderX.CNUM from


OrderX, Salesmen, Customers where OrderX.CNUM=Customers.CNUM AND
OrderX.SNUM=Salesmen.SNUM AND Customers.CITY != Salesmen.CITY;

ONUM AMOUNT ODATE SNUM

CNUM

---------- ---------- --------- ---------- ----------

3009 1713.23 10-APR-97 1003

2002
3010 1309.95 10-JUN-97 1002

2004

3007 75.75 10-APR-97 1002

2004

3011 9891.88 10-JUN-97 1001

2006

3008 4723 10-MAY-97 1001

2006

3006 1098.16 10-MAR-97 1007

2008

3001 18.69 10-MAR-97 1007

2008

7 rows selected.

SQL> select Customers.CNUM, Customers.CNAME from Customers, Salesmen where


Customers.SNUM=Salesmen.SNUM AND Salesmen.Commission >12;

CNUM CNAME

---------- ----------

2003 lalit

2004 govind

2008 chinmay

SQL> select OrderX.SNUM, Salesmen.Commission from OrderX, Salesmen, Customers where


OrderX.SNUM=Salesmen.SNUM AND OrderX.CNUM=Customers.CNUM AND Customers.Rating >100 ;

SNUM COMMISSION

---------- ----------
1002 13

1002 13

1002 13

1007 15

1007 15

1003 10

6 rows selected.

SQL> select c1.CNUM, c2.CNUM from Customers c1, Customers c2 group by c1.CNUM, c2.CNUM
HAVING c1.Rating=c2.Rating AND c1.CNUM!=c2.CNUM;

select c1.CNUM, c2.CNUM from Customers c1, Customers c2 group by c1.CNUM, c2.CNUM HAVING
c1.Rating=c2.Rating AND c1.CNUM!=c2.CNUM

ERROR at line 1:

ORA-00979: not a GROUP BY expression

SQL> Select CNUM, CNAME "Common cities with sejal customers", CITY from Customers where CITY IN
(select CITY from Customers where SNUM=(Select SNUM from Salesmen where SNAME='Sejal')) AND
CNUM NOT IN (select CNUM from Customers where SNUM=(Select SNUM from Salesmen where
SNAME='Sejal'));

Select CNUM, CNAME "Common cities with sejal customers", CITY from Customers where CITY IN (select
CITY from Customers where SNUM=(Select SNUM from Salesmen where SNAME='Sejal')) AND CNUM
NOT IN (select CNUM from Customers where SNUM=(Select SNUM from Salesmen where
SNAME='Sejal'))

ERROR at line 1:

ORA-00972: identifier is too long


SQL> select c1.CNUM, c1.CNAME, c2.CNUM, c2.CNAME, c1.SNUM, SNAME from Customers c1,
Customers c2, Salesmen where c1.SNUM=c2.SNUM AND c1.CNUM!=c2.CNUM AND
Salesmen.SNUM=c1.SNUM;

CNUM CNAME CNUM CNAME

SNUM SNAME

---------- ---------- ---------- ---------- ---------- ---------------

2006 chirag 2001 harsh

1001 piyush

2004 govind 2003 lalit

1002 sejal

2003 lalit 2004 govind

1002 sejal

2001 harsh 2006 chirag

1001 piyush

SQL> select s1.SNUM, s1.SNAME, s2.SNUM, s2.SNAME, s1.CITY from Salesmen s1, Salesmen s2 where
s1.CITY=s2.CITY AND s1.SNUM!=s2.SNUM;

SNUM SNAME SNUM SNAME

CITY

---------- --------------- ---------- --------------- ---------------

1004 miti 1001 piyush

london

1001 piyush 1004 miti

london

SQL> select c1.CNUM, c1.CNAME, o.ONUM from Customers c1, orderX o where o.CNUM=c1.CNUM;

CNUM CNAME ONUM


---------- ---------- ----------

2008 chinmay 3001

2001 harsh 3003

2003 lalit 3005

2008 chinmay 3006

2002 gita 3009

2004 govind 3007

2006 chirag 3008

2004 govind 3010

2006 chirag 3011

9 rows selected.

SQL> select * from OrderX where AMOUNT > (select AVG(AMOUNT) from OrderX where ODATE='10-
APRIL-97');

ONUM AMOUNT ODATE CNUM

SNUM

---------- ---------- --------- ---------- ----------

3005 5160.45 10-MAR-97 2003

1002

3006 1098.16 10-MAR-97 2008

1007

3009 1713.23 10-APR-97 2002

1003

3008 4723 10-MAY-97 2006

1001

3010 1309.95 10-JUN-97 2004

1002
3011 9891.88 10-JUN-97 2006

1001

6 rows selected.

SQL> select AVG(Commission) "avg cmssn of london SM" from Salesmen where CITY='London';

avg cmssn of london SM

----------------------

SQL> select AVG(Commission) "avg cmssn of london SM" from Salesmen where CITY='london';

avg cmssn of london SM

----------------------

11.5

SQL> select * from OrderX where SNUM=(select SNUM from Customers where CNAME='harsh');

ONUM AMOUNT ODATE CNUM

SNUM

---------- ---------- --------- ---------- ----------

3008 4723 10-MAY-97 2006

1001

3011 9891.88 10-JUN-97 2006

1001

SQL> select * from OrderX where SNUM=(select SNUM from Customers where CNAME='chirag');
ONUM AMOUNT ODATE CNUM

SNUM

---------- ---------- --------- ---------- ----------

3008 4723 10-MAY-97 2006

1001

3011 9891.88 10-JUN-97 2006

1001

SQL> select * from OrderX where SNUM=(select SNUM from Salesmen where SNAME='miti');

no rows selected

SQL> select * from OrderX where SNUM IN(select SNUM from Salesmen where CITY='london');

ONUM AMOUNT ODATE CNUM

SNUM

---------- ---------- --------- ---------- ----------

3008 4723 10-MAY-97 2006

1001

3011 9891.88 10-JUN-97 2006

1001

SQL> select OrderX.ONUM, OrderX.AMOUNT, OrderX.ODATE, OrderX.CNUM, OrderX.SNUM from


OrderX INNER JOIN Salesmen ON (OrderX.SNUM=Salesmen.SNUM AND Salesmen.CITY='london');

ONUM AMOUNT ODATE CNUM

SNUM

---------- ---------- --------- ---------- ----------

3008 4723 10-MAY-97 2006


1001

3011 9891.88 10-JUN-97 2006

1001

SQL> select SNUM, SNAME, Commission from Salesmen where SNUM IN (select SNUM from Customers
where CITY='london');

SNUM SNAME COMMISSION

---------- --------------- ----------

1001 piyush 12

SQL> select * from Customers where CNUM - (select SNUM from Salesmen where SNAME='sejal')
>=1000;

CNUM CNAME CITY RATING

SNUM

---------- ---------- ---------- ---------- ----------

2002 gita rome 200

1003

2003 lalit surat 200

1002

2004 govind mumbai 300

1002

2006 chirag london 100

1001

2008 chinmay surat 300

1007

2007 pratik rome 100

1004
6 rows selected.

SQL> select COUNT(*) "> avg rating in Surat" from Customers where Rating > (select AVG(Rating) from
Customers where CITY='surat');

> avg rating in Surat

---------------------

SQL> select * from OrderX where CNUM=(select CNUM from Customers where CNAME='chirag');

ONUM AMOUNT ODATE CNUM

SNUM

---------- ---------- --------- ---------- ----------

3008 4723 10-MAY-97 2006

1001

3011 9891.88 10-JUN-97 2006

1001

SQL> select CNAME, Rating from Customers where CNUM IN (select CNUM from OrderX where
AMOUNT > (select AVG(AMOUNT) from OrderX));

CNAME RATING

---------- ----------

lalit 200

chirag 100

SQL> select SNUM, SUM(AMOUNT)"Total Amount" from OrderX group by SNUM HAVING
SUM(AMOUNT) > (select MAX(AMOUNT) from OrderX);
SNUM Total Amount

---------- ------------

1001 14614.88

SQL> select SNUM, SNAME from Salesmen where SNUM IN (select SNUM from OrderX group by
OrderX.SNUM HAVING COUNT(*) > 1);

SNUM SNAME

---------- ---------------

1001 piyush

1002 sejal

1007 rajesh

SQL> select * from OrderX o1 where AMOUNT >= (select AVG(AMOUNT) from OrderX o2 group by
CNUM Having o1.CNUM=o2.CNUM);

ONUM AMOUNT ODATE CNUM

SNUM

---------- ---------- --------- ---------- ----------

3003 767.19 10-MAR-97 2001

3005 5160.45 10-MAR-97 2003

1002

3006 1098.16 10-MAR-97 2008

1007

3009 1713.23 10-APR-97 2002

1003

3010 1309.95 10-JUN-97 2004

1002
3011 9891.88 10-JUN-97 2006

1001

6 rows selected.

SQL> select SUM(AMOUNT) "total amt per day where total >= 2000 of max amount on that day", ODATE
from OrderX o1 group by ODATE HAVING SUM(AMOUNT)>=((select MAX(AMOUNT) from OrderX o2
group by ODATE HAVING o1.ODATE=o2.ODATE)+2000);

select SUM(AMOUNT) "total amt per day where total >= 2000 of max amount on that day", ODATE from
OrderX o1 group by ODATE HAVING SUM(AMOUNT)>=((select MAX(AMOUNT) from OrderX o2 group by
ODATE HAVING o1.ODATE=o2.ODATE)+2000)

ERROR at line 1:

ORA-00972: identifier is too long

SQL> Select SNUM, SNAME from Salesmen s1 where CITY NOT IN (select CITY from Customers c1 where
c1.SNUM=s1.SNUM) AND CITY IN (select CITY from Customers);

SNUM SNAME

---------- ---------------

1004 miti

SQL>

SQL> 29.Select count(distinct(SNUM)) "Number of salesemen having multiple customers" from


Customers c1 where Exists (select count(CNUM), SNUM from Customers c2 where c1.SNUM=c2.SNUM
group by SNUM having count(CNUM)>1);

SP2-0734: unknown command beginning "29.Select ..." - rest of line ignored.

SQL> Select count(distinct(SNUM)) "Number of salesemen having multiple customers" from Customers
c1 where Exists (select count(CNUM), SNUM from Customers c2 where c1.SNUM=c2.SNUM group by
SNUM having count(CNUM)>1);
Select count(distinct(SNUM)) "Number of salesemen having multiple customers" from Customers c1
where Exists (select count(CNUM), SNUM from Customers c2 where c1.SNUM=c2.SNUM group by
SNUM having count(CNUM)>1)

ERROR at line 1:

ORA-00972: identifier is too long

SQL> Select distinct(c1.SNUM), SNAME from Customers c1, Salesmen where c1.SNUM=Salesmen.SNUM
AND Exists (select count(CNUM), SNUM from Customers c2 where c1.SNUM=c2.SNUM group by SNUM
having count(CNUM)>1);

SNUM SNAME

---------- ---------------

1001 piyush

1002 sejal

SQL> Select distinct(c1.SNUM), SNAME from Customers c1, Salesmen where c1.SNUM=Salesmen.SNUM
AND Exists (select count(CNUM), SNUM from Customers c2 where c1.SNUM=c2.SNUM group by SNUM
having count(CNUM)=1);

SNUM SNAME

---------- ---------------

1007 rajesh

1003 anand

1004 miti

SQL> select * from Salesmen where SNUM In

2 (select SNUM from OrderX o1 group by SNUM Having (Select count(*) from OrderX o2 where
o1.SNUM=o2.SNUM AND ODATE=(Select max(ODATE) from OrderX o3 where o3.SNUM=o2.SNUM))>1);
SNUM SNAME CITY COMMISSION

---------- --------------- --------------- ----------

1007 rajesh baroda

15

SQL> Select * from Customers where exists (Select * from Customers where city='Surat');

no rows selected

SQL> Select * from Customers where exists (Select * from Customers where city='surat');

CNUM CNAME CITY RATING

SNUM

---------- ---------- ---------- ---------- ----------

2001 harsh london 100

1001

2002 gita rome 200

1003

2003 lalit surat 200

1002

2004 govind mumbai 300

1002

2006 chirag london 100

1001

2008 chinmay surat 300

1007

2007 pratik rome 100

1004
7 rows selected.

SQL> select * from Salesmen where SNUM In

2 (select SNUM from OrderX o1 group by SNUM Having (Select count(*) from OrderX o2 group by
CNUM, ODATE, SNUM having o1.SNUM=o2.SNUM AND ODATE=(Select max(ODATE) from OrderX o3
where o3.SNUM=o2.SNUM))>1);

SNUM SNAME CITY COMMISSION

---------- --------------- --------------- ----------

1007 rajesh baroda

15

SQL> select * from Salesmen inner join Customers c1 on Salesmen.SNUM=c1.SNUM where exists (select
Rating from Customers c2 where c2.CNUM=c1.CNUM AND Rating>=300);

SNUM SNAME CITY COMMISSION CNUM CNAME

---------- --------------- --------------- ---------- ---------- ----------

CITY RATING SNUM

---------- ---------- ----------

1002 sejal surat

13 2004 govind

mumbai 300 1002

1007 rajesh baroda

15 2008 chinmay

surat 300 1007

SQL> select * from OrderX where Amount < (select min(amount) from OrderX, Customers where
OrderX.CNUM= Customers.CNUM AND City='London');
no rows selected

SQL> select * from OrderX where Amount < (select min(amount) from OrderX, Customers where
OrderX.CNUM= Customers.CNUM AND City='london');

ONUM AMOUNT ODATE CNUM

SNUM

---------- ---------- --------- ---------- ----------

3001 18.69 10-MAR-97 2008

1007

3007 75.75 10-APR-97 2004

1002

SQL> select * from Customers where Rating > (select max(rating) from Customers where City='Rome');

no rows selected

SQL> select * from Customers where Rating > (select max(rating) from Customers where City='rome');

CNUM CNAME CITY RATING

SNUM

---------- ---------- ---------- ---------- ----------

2004 govind mumbai 300

1002

2008 chinmay surat 300

1007

SQL> select * from Customers where Rating NOT In (select Rating from Customers where City='surat');
CNUM CNAME CITY RATING

SNUM

---------- ---------- ---------- ---------- ----------

2007 pratik rome 100

1004

2006 chirag london 100

1001

2001 harsh london 100

1001

2008 chinmay surat 300

1007

2004 govind mumbai 300

1002

SQL> select * from Customers where Rating >= (select max(rating) from Customers where SNUM=(select
SNUM from Salesmen where SNAME='Sejal'));

no rows selected

SQL> select * from Customers where Rating >= (select max(rating) from Customers where SNUM=(select
SNUM from Salesmen where SNAME='sejal'));

CNUM CNAME CITY RATING

SNUM

---------- ---------- ---------- ---------- ----------

2004 govind mumbai 300

1002

2008 chinmay surat 300


1007

SQL> select * from OrderX where Amount > (select max(amount) from OrderX, Customers where
OrderX.CNUM= Customers.CNUM AND City='london');

ONUM AMOUNT ODATE CNUM

SNUM

---------- ---------- --------- ---------- ----------

3005 5160.45 10-MAR-97 2003

1002

3006 1098.16 10-MAR-97 2008

1007

3009 1713.23 10-APR-97 2002

1003

3008 4723 10-MAY-97 2006

1001

3010 1309.95 10-JUN-97 2004

1002

3011 9891.88 10-JUN-97 2006

1001

6 rows selected.

SQL> Select * from Salesmen, Customers where Salesmen.city='London' AND Customers.city='london';

no rows selected

SQL> Select * from Salesmen, Customers where Salesmen.city='london' AND Customers.city='london';


SNUM SNAME CITY COMMISSION CNUM CNAME

---------- --------------- --------------- ---------- ---------- ----------

CITY RATING SNUM

---------- ---------- ----------

1001 piyush london

12 2001 harsh

london 100 1001

1004 miti london

11 2001 harsh

london 100 1001

SQL> Select o1.Amount "max amount for a day", o1.SNUM, o1.ODATE, o2.Amount "min amount for a
day", o2.SNUM from OrderX o1, OrderX o2 where o1.Amount=(Select max(Amount) from OrderX o3
where o3.ODATE=o1.ODATE) AND o2.Amount=(Select min(Amount) from OrderX o4 where
o4.ODATE=o2.ODATE) AND o1.ODATE=o2.ODATE group by o1.ODATE, o1.SNUM, o2.SNUM,
o1.AMOUNT, o2.Amount;

max amount for a day SNUM ODATE min amount for a day SNUM

-------------------- ---------- --------- -------------------- ----------

9891.88 1001 10-JUN-97

1309.95 1002

5160.45 1002 10-MAR-97

18.69 1007

1713.23 1003 10-APR-97

75.75 1002

4723 1001 10-MAY-97

4723 1001
SQL>

Potrebbero piacerti anche