рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Not found

Not found - раздел Программирование, Изучение конструкций и команд языка PL/SQL     Sql> Sql...

 

 

SQL>

SQL> -- удалим противоречивые записи из таблицы purchase

SQL> DELETE purchase

2 WHERE salesperson_id NOT IN (SELECT salesperson_id FROM salesperson);

 

1 row deleted.

 

SQL>

SQL> -- снова попробуем добавить внешний ключ

SQL> ALTER TABLE purchase

2 ADD CONSTRAINT fk_purchase_to_salesperson

3 FOREIGN KEY (salesperson_id)

4 REFERENCES salesperson (salesperson_id);

 

Table altered.

 

SQL>

SQL> --

SQL> -- ВЫБОРКА ДАННЫХ

SQL> --

SQL>

SQL> -- выборка из нескольких таблиц (декартово произведение таблиц)

SQL> SELECT * FROM salesperson, purchase;

 

SALESPERSON_ID FIRST_NAME LAST_NAME HIRE_DATE SALESPERSON_ID

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

PRODUCT_ID PURCHASE_D QUANTITY

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

10 Ivan Ivanov 2003-02-01 10

1 2004-06-15 9

 

11 Peter Petrov 2003-10-21 10

1 2004-06-15 9

 

12 Fedor Fedorov 2003-06-17 10

1 2004-06-15 9

 

 

SALESPERSON_ID FIRST_NAME LAST_NAME HIRE_DATE SALESPERSON_ID

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

PRODUCT_ID PURCHASE_D QUANTITY

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

13 John Johnson 2004-09-01 10

1 2004-06-15 9

 

10 Ivan Ivanov 2003-02-01 10

5 2004-06-15 1

 

11 Peter Petrov 2003-10-21 10

5 2004-06-15 1

 

 

SALESPERSON_ID FIRST_NAME LAST_NAME HIRE_DATE SALESPERSON_ID

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

PRODUCT_ID PURCHASE_D QUANTITY

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

12 Fedor Fedorov 2003-06-17 10

5 2004-06-15 1

 

13 John Johnson 2004-09-01 10

5 2004-06-15 1

 

10 Ivan Ivanov 2003-02-01 10

6 2004-06-16 2

 

 

SALESPERSON_ID FIRST_NAME LAST_NAME HIRE_DATE SALESPERSON_ID

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

PRODUCT_ID PURCHASE_D QUANTITY

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

11 Peter Petrov 2003-10-21 10

6 2004-06-16 2

 

12 Fedor Fedorov 2003-06-17 10

6 2004-06-16 2

 

13 John Johnson 2004-09-01 10

6 2004-06-16 2

 

 

SALESPERSON_ID FIRST_NAME LAST_NAME HIRE_DATE SALESPERSON_ID

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

PRODUCT_ID PURCHASE_D QUANTITY

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

10 Ivan Ivanov 2003-02-01 11

8 2004-07-14 3

 

11 Peter Petrov 2003-10-21 11

8 2004-07-14 3

 

12 Fedor Fedorov 2003-06-17 11

8 2004-07-14 3

 

 

SALESPERSON_ID FIRST_NAME LAST_NAME HIRE_DATE SALESPERSON_ID

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

PRODUCT_ID PURCHASE_D QUANTITY

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

13 John Johnson 2004-09-01 11

8 2004-07-14 3

 

10 Ivan Ivanov 2003-02-01 12

7 2004-04-07 5

 

11 Peter Petrov 2003-10-21 12

7 2004-04-07 5

 

 

SALESPERSON_ID FIRST_NAME LAST_NAME HIRE_DATE SALESPERSON_ID

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

PRODUCT_ID PURCHASE_D QUANTITY

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

12 Fedor Fedorov 2003-06-17 12

7 2004-04-07 5

 

13 John Johnson 2004-09-01 12

7 2004-04-07 5

 

10 Ivan Ivanov 2003-02-01 10

8 2004-09-25 1

 

 

SALESPERSON_ID FIRST_NAME LAST_NAME HIRE_DATE SALESPERSON_ID

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

PRODUCT_ID PURCHASE_D QUANTITY

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

11 Peter Petrov 2003-10-21 10

8 2004-09-25 1

 

12 Fedor Fedorov 2003-06-17 10

8 2004-09-25 1

 

13 John Johnson 2004-09-01 10

8 2004-09-25 1

 

 

SALESPERSON_ID FIRST_NAME LAST_NAME HIRE_DATE SALESPERSON_ID

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

PRODUCT_ID PURCHASE_D QUANTITY

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

10 Ivan Ivanov 2003-02-01 13

5 2004-07-08 7

 

11 Peter Petrov 2003-10-21 13

5 2004-07-08 7

 

12 Fedor Fedorov 2003-06-17 13

5 2004-07-08 7

 

 

SALESPERSON_ID FIRST_NAME LAST_NAME HIRE_DATE SALESPERSON_ID

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

PRODUCT_ID PURCHASE_D QUANTITY

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

13 John Johnson 2004-09-01 13

5 2004-07-08 7

 

10 Ivan Ivanov 2003-02-01 13

6 2004-07-08 1

 

11 Peter Petrov 2003-10-21 13

6 2004-07-08 1

 

 

SALESPERSON_ID FIRST_NAME LAST_NAME HIRE_DATE SALESPERSON_ID

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

PRODUCT_ID PURCHASE_D QUANTITY

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

12 Fedor Fedorov 2003-06-17 13

6 2004-07-08 1

 

13 John Johnson 2004-09-01 13

6 2004-07-08 1

 

 

32 rows selected.

 

SQL> SELECT * FROM salesperson, salesperson;

SELECT * FROM salesperson, salesperson

*

ERROR at line 1:

ORA-00918: column ambiguously defined

 

 

SQL>

SQL> -- применение псевдонимов таблиц

SQL> SELECT S.last_name, P.quantity FROM salesperson S, purchase P;

 

LAST_NAME QUANTITY

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

Ivanov 9

Petrov 9

Fedorov 9

Johnson 9

Ivanov 1

Petrov 1

Fedorov 1

Johnson 1

Ivanov 2

Petrov 2

Fedorov 2

 

LAST_NAME QUANTITY

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

Johnson 2

Ivanov 3

Petrov 3

Fedorov 3

Johnson 3

Ivanov 5

Petrov 5

Fedorov 5

Johnson 5

Ivanov 1

Petrov 1

 

LAST_NAME QUANTITY

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

Fedorov 1

Johnson 1

Ivanov 7

Petrov 7

Fedorov 7

Johnson 7

Ivanov 1

Petrov 1

Fedorov 1

Johnson 1

 

32 rows selected.

 

SQL>

SQL> -- "свяжем" таблицы по значению поля salesperson_id

SQL> SELECT *

2 FROM salesperson, purchase P

3 WHERE salesperson.salesperson_id = P.salesperson_id;

 

SALESPERSON_ID FIRST_NAME LAST_NAME HIRE_DATE SALESPERSON_ID

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

PRODUCT_ID PURCHASE_D QUANTITY

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

10 Ivan Ivanov 2003-02-01 10

1 2004-06-15 9

 

10 Ivan Ivanov 2003-02-01 10

5 2004-06-15 1

 

10 Ivan Ivanov 2003-02-01 10

6 2004-06-16 2

 

 

SALESPERSON_ID FIRST_NAME LAST_NAME HIRE_DATE SALESPERSON_ID

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

PRODUCT_ID PURCHASE_D QUANTITY

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

11 Peter Petrov 2003-10-21 11

8 2004-07-14 3

 

12 Fedor Fedorov 2003-06-17 12

7 2004-04-07 5

 

10 Ivan Ivanov 2003-02-01 10

8 2004-09-25 1

 

 

SALESPERSON_ID FIRST_NAME LAST_NAME HIRE_DATE SALESPERSON_ID

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

PRODUCT_ID PURCHASE_D QUANTITY

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

13 John Johnson 2004-09-01 13

5 2004-07-08 7

 

13 John Johnson 2004-09-01 13

6 2004-07-08 1

 

 

8 rows selected.

 

SQL> -- покажем все сделанные покупки

SQL> SELECT * FROM purchase;

 

SALESPERSON_ID PRODUCT_ID PURCHASE_D QUANTITY

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

10 1 2004-06-15 9

10 5 2004-06-15 1

10 6 2004-06-16 2

11 8 2004-07-14 3

12 7 2004-04-07 5

10 8 2004-09-25 1

13 5 2004-07-08 7

13 6 2004-07-08 1

 

8 rows selected.

 

SQL>

SQL> -- покажем все покупки и названия товаров

SQL> SELECT P.*, PRD.product_name

2 FROM purchase P, product PRD

3 WHERE P.product_id = PRD.product_id;

 

SALESPERSON_ID PRODUCT_ID PURCHASE_D QUANTITY PRODUCT_NAME

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

10 5 2004-06-15 1 Moloko

13 5 2004-07-08 7 Moloko

10 6 2004-06-16 2 Kefir

13 6 2004-07-08 1 Kefir

12 7 2004-04-07 5 Tvorog

11 8 2004-07-14 3 Sok

10 8 2004-09-25 1 Sok

 

7 rows selected.

 

 

SQL> -- покажем все покупки и названия товаров,

SQL> -- причем включим в результат и те товары,

SQL> -- покупки которых не осуществлялись (+)

SQL> SELECT P.*, PRD.product_name

2 FROM purchase P, product PRD

3 WHERE P.product_id = PRD.product_id (+);

 

SALESPERSON_ID PRODUCT_ID PURCHASE_D QUANTITY PRODUCT_NAME

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

10 1 2004-06-15 9

10 5 2004-06-15 1 Moloko

13 5 2004-07-08 7 Moloko

10 6 2004-06-16 2 Kefir

13 6 2004-07-08 1 Kefir

12 7 2004-04-07 5 Tvorog

11 8 2004-07-14 3 Sok

10 8 2004-09-25 1 Sok

 

8 rows selected.

 

SQL> DROP TABLE purchase;

 

Table dropped.

 

SQL> DROP TABLE salesperson;

 

Table dropped.

 

SQL> DROP TABLE product;

 

Table dropped.

 

SQL>

 

– Конец работы –

Эта тема принадлежит разделу:

Изучение конструкций и команд языка PL/SQL

На сайте allrefs.net читайте: "Изучение конструкций и команд языка PL/SQL"

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Not found

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Эта работа не имеет других тем.

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги