-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path1-1.sql
More file actions
117 lines (109 loc) · 3.87 KB
/
1-1.sql
File metadata and controls
117 lines (109 loc) · 3.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
-- 1
-- 1. Napisz polecenie select za pomocą którego uzyskasz identyfikator/numer tytułu oraz
-- tytuł książki
SELECT
title_no
,title
,author
FROM
title
-- 2. Napisz polecenie, które wybiera tytuł o numerze/identyfikatorze 10
SELECT
title
FROM
title
WHERE title_no = 10
-- 3. Napisz polecenie select, za pomocą którego uzyskasz numer książki (nr tyułu) i
-- autora dla wszystkich książek, których autorem jest Charles Dickens lub Jane Austen
SELECT
title_no
,author
FROM
title
WHERE author IN('Charles Dickens', 'Jane Austen')
-- 2
-- 1. Napisz polecenie, które wybiera numer tytułu i tytuł dla wszystkich książek, których
-- tytuły zawierających słowo 'adventure'
SELECT
title_no
,title
FROM
title
WHERE title LIKE('%adventure%')
-- 2. Napisz polecenie, które wybiera numer czytelnika, oraz zapłaconą karę dla wszystkich
-- książek, tore zostały zwrócone w listopadzie 2001
SELECT
member_no
,fine_paid
,in_date
FROM
loanhist
WHERE MONTH(in_date) = 11 AND YEAR(in_date) = 2001
-- 3. Napisz polecenie, które wybiera wszystkie unikalne pary miast i stanów z tablicy
-- adult .
SELECT
DISTINCT
[state]
,city
FROM
adult
-- 4. Napisz polecenie, które wybiera wszystkie tytuły z tablicy title i wyświetla je w
-- porządku alfabetycznym.
SELECT
title
FROM
title
ORDER BY title ASC
-- 3
-- Napisz polecenie, które:
SELECT-- wybiera
member_no -- numer członka biblioteki ( member_no ),
,isbn -- isbn książki ( isbn )
,fine_assessed -- i wartość naliczonej kary (fine_assessed)
,2 * fine_assessed AS double_fine --stwórz kolumnę wyliczeniową zawierającą
-- podwojoną wartość kolumny fine_assessed
-- stwórz alias double_fine dla tej kolumny
-- (zmień nazwą kolumny na double_fine )
,2 * fine_assessed - fine_assessed AS diff-- stwórz kolumnę o nazwie diff
-- zawierającą różnicę wartości w kolumnach double_fine i fine_assessed
FROM
loanhist-- z tablicy loanhist
WHERE
fine_assessed IS NOT NULL -- dla wszystkich których naliczono karę wypożyczeń/zwrotów, dla (wartość nie NULL w kolumnie fine_assessed )
AND 2 * fine_assessed - fine_assessed > 3-- wybierz wiersze dla których wartość w kolumnie diff jest większa niż 3
-- 4
-- generuje pojedynczą kolumnę, która zawiera kolumny: firstname (imię członka
-- biblioteki), middleinitial (inicjał drugiego imienia) i lastname (nazwisko) z
-- tablicy member dla wszystkich członków biblioteki, którzy nazywają się Anderson
-- nazwij tak powstałą kolumnę email_name (użyj aliasu email_name dla kolumny)
SELECT
firstname + middleinitial + lastname AS email_name
FROM
member
WHERE lastname = 'Anderson'
-- zmodyfikuj polecenie, tak by zwróciło 'listę proponowanych loginów e-mail'
-- utworzonych przez połączenie imienia członka biblioteki, z inicjałem drugiego imienia i
-- pierwszymi dwoma literami nazwiska (wszystko małymi małymi literami).
-- wykorzystaj funkcję SUBSTRING do uzyskania części kolumny znakowej oraz LOWER
-- do zwrócenia wyniku małymi literami.
-- wykorzystaj operator (+) do połączenia napisów.
-- dla wszystkich członków biblioteki, którzy nazywają się Anderson
SELECT
LOWER(firstname + middleinitial + SUBSTRING(lastname,1, 2)) AS email_name
FROM
member
WHERE lastname = 'Anderson'
-- 5
-- 1. Napisz polecenie, które wybiera title i title_no z tablicy title .
-- wynikiem powinna być pojedyncza kolumna o formacie jak w przykładzie poniżej:
-- The title is: Poems, title number 7
-- czyli zapytanie powinno zwracać pojedynczą kolumnę w oparciu o wyrażenie,
-- które łączy 4 elementy:
-- stała znakowa ‘The title is:ʼ
-- wartość kolumny title
-- stała znakowa ‘title numberʼ
-- wartość kolumny title_no
SELECT
'The title is: ' + title + ' title number: ' + CONVERT(VARCHAR, title_no) AS title
FROM
title