Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лабораторная работа / SQL запросы для учебной базы данных

.doc
Скачиваний:
53
Добавлен:
29.01.2014
Размер:
249.86 Кб
Скачать

SQL запросы для учебной базы данных

Выполним запросы на языке SQL : извлечение данных - команда SELECT.

Запрос 1. SELECT NAME, SURNAME

FROM STUDENT;

Запрос1

NAME

SURNAME

Иван

Иванов

Петр

Петров

Вадим

Сидоров

Борис

Кузнецов

Ольга

Зайцева

Павел

Котов

Вадим

Белкин

Андрей

Павлов

Антон

Петров

Артем

Лукин

Запрос 2. SELECT *

FROM STUDENT;

Запрос2

student_id

surname

name

stipend

kurs

city

birthday

univ_id

1

Иванов

Иван

150

1

Орел

03.12.1982

10

3

Петров

Петр

200

3

Курск

01.12.1980

10

6

Сидоров

Вадим

150

4

Москва

07.06.1979

22

10

Кузнецов

Борис

0

2

Брянск

08.12.1981

10

12

Зайцева

Ольга

250

2

Липецк

01.05.1981

10

32

Котов

Павел

150

5

Белгород

14

55

Белкин

Вадим

250

5

Воронеж

07.01.1998

10

265

Павлов

Андрей

0

3

Воронеж

05.11.1979

10

276

Петров

Антон

200

4

05.08.1981

22

654

Лукин

Артем

200

3

Воронеж

01.12.1981

10

Запрос 3. SELECT CITY

FROM STUDENT;

Запрос3

CITY

Орел

Курск

Москва

Брянск

Липецк

Белгород

Воронеж

Воронеж

Воронеж

Запрос 4. SELECT DISTINCT CITY

FROM STUDENT;

Запрос4

CITY

Белгород

Брянск

Воронеж

Курск

Липецк

Москва

Орел

Запрос 5. SELECT SURNAME, NAME

FROM STUDENT

WHERE SURNAME='Петров';

Запрос5

SURNAME

NAME

Петров

Петр

Петров

Антон

Запрос 6. SELECT NAME, SURNAME

FROM STUDENT

WHERE KURS=3 And STIPEND>0;

Запрос6

NAME

SURNAME

Петр

Петров

Артем

Лукин

Запрос 7. SELECT *

FROM EXAM_MARKS

WHERE MARK In (4,5);

Запрос7

exam_id

student_id

subj_id

mark

exam_date

145

12

10

5

12.01.2000

34

32

10

4

23.01.2000

75

10

10

5

05.01.2000

43

6

22

4

18.01.2000

Запрос 8. SELECT *

FROM EXAM_MARKS

WHERE MARK Not In (4,5);

Запрос8

exam_id

student_id

subj_id

mark

exam_date

238

265

22

3

17.06.1999

Запрос 9. SELECT *

FROM SUBJECT

WHERE HOUR BETWEEN 30 AND 40;

Запрос9

subj_id

subj_name

hour

semester

22

Физика

34

1

56

История

34

4

73

Физкультура

34

5

Запрос 10. SELECT *

FROM STUDENT

WHERE SURNAME LIKE 'П*';

Запрос10

student_id

surname

name

stipend

kurs

city

birthday

univ_id

3

Петров

Петр

200

3

Курск

01.12.1980

10

265

Павлов

Андрей

0

3

Воронеж

05.11.1979

10

276

Петров

Антон

200

4

05.08.1981

22

Выполним запросы на языке SQL: SELECT-запросы-агрегирование и групповые функции.

Запрос 1. SELECT AVG(MARK)

FROM EXAM_MARKS;

Запрос1

Expr1000

4,2

Запрос 2. SELECT COUNT(*)

FROM EXAM_MARKS;

Запрос2

Expr1000

6

Запрос 3. SELECT DISTINCT COUNT(SUBJ_ID)

FROM SUBJECT;

Запрос3

Expr1000

6

Запрос 4. SELECT STUDENT_ID, MAX(MARK)

FROM EXAM_MARKS

GROUP BY STUDENT_ID;

Запрос4

STUDENT_ID

Expr1001

6

4

10

5

12

5

32

4

55

265

3

Запрос 5. SELECT STUDENT_ID, SUBJ_ID, MAX(MARK)

FROM EXAM_MARKS

GROUP BY STUDENT_ID, SUBJ_ID;

Запрос5

STUDENT_ID

SUBJ_ID

Expr1002

6

22

4

10

10

5

12

10

5

32

10

4

55

22

265

22

3

Запрос 6. SELECT SUBJ_NAME, MAX(HOUR)

FROM SUBJECT

GROUP BY SUBJ_NAME

HAVING MAX(HOUR)>34;

Запрос6

SUBJ_NAME

Expr1001

Английский

56

Информатика

56

Математика

56

Запрос 7. SELECT *

FROM SUBJECT

ORDER BY SUBJ_NAME;

Запрос7

subj_id

subj_name

hour

semester

94

Английский

56

3

10

Информатика

56

1

56

История

34

4

43

Математика

56

2

22

Физика

34

1

73

Физкультура

34

5

Запрос 8. SELECT *

FROM SUBJECT

ORDER BY SUBJ_NAME DESC;

Запрос8

subj_id

subj_name

hour

semester

73

Физкультура

34

5

22

Физика

34

1

43

Математика

56

2

56

История

34

4

10

Информатика

56

1

94

Английский

56

3

Запрос 9. SELECT *

FROM SUBJECT

ORDER BY SEMESTER, SUBJ_NAME;

Запрос9

subj_id

subj_name

hour

semester

10

Информатика

56

1

22

Физика

34

1

43

Математика

56

2

94

Английский

56

3

56

История

34

4

73

Физкультура

34

5

Запрос 10. SELECT SUBJ_NAME, SEMESTER, MAX(HOUR)

FROM SUBJECT

GROUP BY SEMESTER, SUBJ_NAME

ORDER BY SEMESTER;

Запрос10

SUBJ_NAME

SEMESTER

Expr1002

Информатика

1

56

Физика

1

34

Математика

2

56

Английский

3

56

История

4

34

Физкультура

5

34

Запрос 11. SELECT SUBJ_ID, SEMESTER

FROM SUBJECT

ORDER BY 2 DESC;

Запрос11

SUBJ_ID

SEMESTER

73

5

56

4

94

3

43

2

22

1

10

1

Выполним запросы на языке SQL: ВЛОЖЕННЫЕ ПОДЗАПРОСЫ

Запрос 1.SELECT *

FROM EXAM_MARKS

WHERE STUDENT_ID=

(SELECT STUDENT_ID

FROM STUDENT

WHERE SURNAME ='Иванов');

exam_id

student_id

subj_id

mark

exam_date

 

 

 

 

 

Запрос 2. SELECT *

FROM EXAM_MARKS

WHERE STUDENT_ID IN

(SELECT STUDENT_ID

FROM STUDENT

WHERE CITY = 'Воронеж');

Запрос2

exam_id

student_id

subj_id

mark

exam_date

238

265

22

3

17.06.1999

639

55

22

22.06.1999

Соседние файлы в папке лабораторная работа