, . . ( 8.4):
SELECT onum, cname, Orders.cnum, Orders.snum
FROM Salespeople, Customers,Orders
WHERE Customers.city <> Salespeople.city
AND Orders.cnum = Customers.cnum
AND Orders.snum = Salespeople.snum;
=============== SQL Execution Log ==============
| SELECT onum, cname, Orders.cnum, Orders.snum |
| FROM Salespeople, Customers, Orders |
| WHERE Customers.city <> Salespeople.city |
| AND Orders.cnum = Customers.cnum |
| AND Orders.snum = Salespeople.snum; |
| =============================================== |
| onum cname cnum snum |
| ------ ------- ----- ----- |
| 3001 Cisneros 2008 1007 |
| 3002 Pereira 2007 1004 |
| 3006 Cisneros 2008 1007 |
| 3009 Giovanni 2002 1003 |
| 3007 Grass 2004 1002 |
| 3010 Grass 2004 1002 |
=================================================
8.4. .
, , , ( snum ), ( cnum snum ).
. , , . , , . : , . 9.
SQL
1. , , , .
2. , .
3. , , 12%. , .
4. , 100.
(. A .)
8 , .
, .
, . , , , .
|
|
?
, , , . , . , .
, . , SQL , .
, , , , .
, .
, , . , .
, , .
FROM . : , , .
, ( 9.1):
SELECT first.cname, second.cname, first.rating
FROM Customers first, Customers second
WHERE first.rating = second.rating;
=============== SQL Execution Log ==============
| Giovanni Giovanni 200 |
| Giovanni Liu 200 |
| Liu Giovanni 200 |
| Liu Liu 200 |
| Grass Grass 300 |
| Grass Cisneros 300 |
| Clemens Hoffman 100 |
| Clemens Clemens 100 |
| Clemens Pereira 100 |
| Cisneros Grass 300 |
| Cisneros Cisneros 300 |
| Pereira Hoffman 100 |
| Pereira Clemens 100 |
| Pereira Pereira 100 |
=================================================
9.1. .
. Interbase 'SECOND' , , , :
SELECT a.cname, b.cname, a.rating
FROM Customers a, Customers b
WHERE a.rating = b.rating;
, 9.1., , , , , .
, SQL , '' ''. , , , . FROM , .
, SELECT, FROM.
. SQL , , FROM .
, . , , , .
, , , SQL , .
|
|
, , . , , () .
, A B , A B . , Hoffman Clemens, Clemens Hoffman. Cisneros Grass, Liu Giovanni, . , , , Liu Liu.
, , , , . , , :
SELECT first.cname, second.cname, first.rating
FROM Customers first, Customers second
WHERE first.rating = second.rating
AND first.cname < second.cname;
9.2.
=============== SQL Execution Log ==============
| SELECT first.cname, second.cname, first.rating |
| FROM Customers first, Customers second |
| WHERE first.rating = second.rating |
| AND first.cname < second.cname |
| =============================================== |
| cname cname rating |
| ------- --------- ------- |
| Hoffman Pereira 100 |
| Giovanni Liu 200 |
| Clemens Hoffman 100 |
| Clemens Pereira 100 |
| Cisneros Grass 300 |
=================================================
9.2. .
Interbase 'second' - .
Hoffman Periera , . Periera Hoffman . , Hoffman , . , <= <.
, SQL . , , cnum snum .
, , , . :
SELECT first.onum, first.cnum, first.snum, second.onum, second.cnum, second.snum
FROM Orders first, Orders second
WHERE first.cnum = second.cnum
AND first.snum <> second.snum;
Interbase . .
, . , , , . , . , , cnum=2008 snum=1007, cnum. , - , snum, , . snum cnum , .
|
|
, , , , . , (. Interbase ). , , , a b, SELECT . ( 11).