SHOW:
|
|
- or go back to the newest paste.
1 | [NOTATKI] | |
2 | Tworzenie tabeli | |
3 | Insert into wprowadzenie danych | |
4 | Selectem pokazać tych co mają pesel null np | |
5 | Utwórz kopie np jako wynik select | |
6 | (na podstawie kryteriów) | |
7 | Join w każdej postaci | |
8 | Plus złączenia zwykłe, bez join. Uzyskać dane z 2 tabel np | |
9 | Funkcje average min max count | |
10 | Zapytania typu (głównie)from, where | |
11 | Np. "ile było zamówień płaskowników" | |
12 | jak masz towar-id to trzeba `towar-id` | |
13 | Różnice w joinach, null zamiast nazwy to wartość | |
14 | Group by | |
15 | ||
16 | ||
17 | [KOD] | |
18 | ||
19 | student@linux:~> mysql -u stud1 | |
20 | ERROR 1045 (28000): Access denied for user 'stud1'@'localhost' (using password: NO) | |
21 | student@linux:~> mysql -u stud1 -p | |
22 | Enter password: | |
23 | Welcome to the MariaDB monitor. Commands end with ; or \g. | |
24 | Your MariaDB connection id is 5 | |
25 | Server version: 10.0.31-MariaDB SLE 12 SP1 package | |
26 | ||
27 | Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others. | |
28 | ||
29 | Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. | |
30 | ||
31 | MariaDB [(none)]> use hw1 | |
32 | Reading table information for completion of table and column names | |
33 | You can turn off this feature to get a quicker startup with -A | |
34 | ||
35 | Database changed | |
36 | MariaDB [hw1]> show tables | |
37 | -> ; | |
38 | +---------------+ | |
39 | | Tables_in_hw1 | | |
40 | +---------------+ | |
41 | | Miasta | | |
42 | | Osoby | | |
43 | | UczelniaA | | |
44 | | UczelniaB | | |
45 | | klienci | | |
46 | | pracownicy | | |
47 | | pracownicyN | | |
48 | | stanowiskaN | | |
49 | | towary | | |
50 | | zamowienia | | |
51 | +---------------+ | |
52 | 10 rows in set (0.00 sec) | |
53 | ||
54 | MariaDB [hw1]> select * from zamowienia; | |
55 | +----+-----------+----------+------------+---------+ | |
56 | | id | klient-id | towar-id | data | wartosc | | |
57 | +----+-----------+----------+------------+---------+ | |
58 | | 1 | 1 | 2 | 2012-01-01 | 12.44 | | |
59 | | 2 | 1 | 4 | 2012-01-01 | 10.22 | | |
60 | | 3 | 1 | 2 | 2012-02-12 | 15.88 | | |
61 | | 4 | 2 | 1 | 2012-01-01 | 22.35 | | |
62 | | 5 | 2 | 1 | 2012-02-12 | 28.00 | | |
63 | | 6 | 2 | 4 | 2012-03-01 | 2.28 | | |
64 | | 7 | 3 | 1 | 2012-02-11 | 18.48 | | |
65 | | 8 | 3 | 4 | 2012-01-01 | 12.44 | | |
66 | | 9 | 4 | 1 | 2012-03-11 | 15.26 | | |
67 | | 10 | 5 | 4 | 2012-03-02 | 6.11 | | |
68 | +----+-----------+----------+------------+---------+ | |
69 | 10 rows in set (0.00 sec) | |
70 | ||
71 | MariaDB [hw1]> select * from zamowienia where wartosc>avg(wartosc); | |
72 | ERROR 1111 (HY000): Invalid use of group function | |
73 | MariaDB [hw1]> select * from zamowienia where wartosc> select avg(wartosc) from zamowienia); | |
74 | ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'select avg(wartosc) from zamowienia)' at line 1 | |
75 | MariaDB [hw1]> select * from zamowienia where wartosc> (select avg(wartosc) from zamowienia); | |
76 | +----+-----------+----------+------------+---------+ | |
77 | | id | klient-id | towar-id | data | wartosc | | |
78 | +----+-----------+----------+------------+---------+ | |
79 | | 3 | 1 | 2 | 2012-02-12 | 15.88 | | |
80 | | 4 | 2 | 1 | 2012-01-01 | 22.35 | | |
81 | | 5 | 2 | 1 | 2012-02-12 | 28.00 | | |
82 | | 7 | 3 | 1 | 2012-02-11 | 18.48 | | |
83 | | 9 | 4 | 1 | 2012-03-11 | 15.26 | | |
84 | +----+-----------+----------+------------+---------+ | |
85 | 5 rows in set (0.01 sec) | |
86 | ||
87 | MariaDB [hw1]> select * from zamowienia; | |
88 | +----+-----------+----------+------------+---------+ | |
89 | | id | klient-id | towar-id | data | wartosc | | |
90 | +----+-----------+----------+------------+---------+ | |
91 | | 1 | 1 | 2 | 2012-01-01 | 12.44 | | |
92 | | 2 | 1 | 4 | 2012-01-01 | 10.22 | | |
93 | | 3 | 1 | 2 | 2012-02-12 | 15.88 | | |
94 | | 4 | 2 | 1 | 2012-01-01 | 22.35 | | |
95 | | 5 | 2 | 1 | 2012-02-12 | 28.00 | | |
96 | | 6 | 2 | 4 | 2012-03-01 | 2.28 | | |
97 | | 7 | 3 | 1 | 2012-02-11 | 18.48 | | |
98 | | 8 | 3 | 4 | 2012-01-01 | 12.44 | | |
99 | | 9 | 4 | 1 | 2012-03-11 | 15.26 | | |
100 | | 10 | 5 | 4 | 2012-03-02 | 6.11 | | |
101 | +----+-----------+----------+------------+---------+ | |
102 | 10 rows in set (0.00 sec) | |
103 | ||
104 | MariaDB [hw1]> select * from klienci; | |
105 | +----+-----------+------------+ | |
106 | | id | imie | nazwisko | | |
107 | +----+-----------+------------+ | |
108 | | 1 | Jan | Kowalski | | |
109 | | 2 | Andrzej | Nowak | | |
110 | | 3 | Janusz | Malinowski | | |
111 | | 4 | Adam | Kowalski | | |
112 | | 5 | Krzysztof | Nowicki | | |
113 | +----+-----------+------------+ | |
114 | 5 rows in set (0.01 sec) | |
115 | ||
116 | MariaDB [hw1]> select * from towary; | |
117 | +----+--------------+-------+-------+ | |
118 | | id | nazwa | grupa | cena | | |
119 | +----+--------------+-------+-------+ | |
120 | | 1 | Śruby | 1 | 2.00 | | |
121 | | 2 | Nakrętki | 1 | 3.00 | | |
122 | | 3 | Kątowniki | 2 | 8.00 | | |
123 | | 4 | Płaskowniki | 2 | 9.00 | | |
124 | | 5 | Gwoździe | 1 | 1.00 | | |
125 | | 6 | Panele | 3 | 15.00 | | |
126 | | 7 | Wkręty | 1 | 4.00 | | |
127 | | 8 | Deski | 3 | 12.00 | | |
128 | | 9 | Płyty | 3 | 19.00 | | |
129 | +----+--------------+-------+-------+ | |
130 | 9 rows in set (0.00 sec) | |
131 | ||
132 | MariaDB [hw1]> | |
133 | MariaDB [hw1]> | |
134 | MariaDB [hw1]> | |
135 | MariaDB [hw1]> | |
136 | MariaDB [hw1]> select * from zamowienia join towary AS (select * from towary join klienci AS wartosc > (select avg(wartosc) from zamowienia)); | |
137 | ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '(select * from towary join klienci AS wartosc > (select avg(wartosc) from zamowi' at line 1 | |
138 | MariaDB [hw1]> select * from zamowienia, towary, klienci where wartosc > (select avg(wartosc) from zamowienia) AND `towar-id` = towary.id AND `klient-id` = klienci.id; | |
139 | +----+-----------+----------+------------+---------+----+-----------+-------+------+----+---------+------------+ | |
140 | | id | klient-id | towar-id | data | wartosc | id | nazwa | grupa | cena | id | imie | nazwisko | | |
141 | +----+-----------+----------+------------+---------+----+-----------+-------+------+----+---------+------------+ | |
142 | | 3 | 1 | 2 | 2012-02-12 | 15.88 | 2 | Nakrętki | 1 | 3.00 | 1 | Jan | Kowalski | | |
143 | | 4 | 2 | 1 | 2012-01-01 | 22.35 | 1 | Śruby | 1 | 2.00 | 2 | Andrzej | Nowak | | |
144 | | 5 | 2 | 1 | 2012-02-12 | 28.00 | 1 | Śruby | 1 | 2.00 | 2 | Andrzej | Nowak | | |
145 | | 7 | 3 | 1 | 2012-02-11 | 18.48 | 1 | Śruby | 1 | 2.00 | 3 | Janusz | Malinowski | | |
146 | | 9 | 4 | 1 | 2012-03-11 | 15.26 | 1 | Śruby | 1 | 2.00 | 4 | Adam | Kowalski | | |
147 | +----+-----------+----------+------------+---------+----+-----------+-------+------+----+---------+------------+ | |
148 | 5 rows in set (0.00 sec) | |
149 | ||
150 | MariaDB [hw1]> select imie, nazwisko, wartosc, from zamowienia, towary, klienci where wartosc < (select 0.5*max(wartosc) from zamowienia) AND `towar-id` = towary.id AND `klient-id` = klienci.id; | |
151 | ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'from zamowienia, towary, klienci where wartosc < (select 0.5*max(wartosc) from z' at line 1 | |
152 | MariaDB [hw1]> select imie, nazwisko, wartosc, from zamowienia, towary, klienci where wartosc < (select max(wartosc) from zamowienia)*0.5 AND `towar-id` = towary.id AND `klient-id` = klienci.id; | |
153 | ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'from zamowienia, towary, klienci where wartosc < (select max(wartosc) from zamow' at line 1 | |
154 | MariaDB [hw1]> select imie, nazwisko, wartosc, from zamowienia, towary, klienci where wartosc < (select max(wartosc) from zamowienia)*0.5 AND `towar-id` = towary.id AND `klient-id` = klienci.id; | |
155 | ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'from zamowienia, towary, klienci where wartosc < (select max(wartosc) from zamow' at line 1 | |
156 | MariaDB [hw1]> select * from zamowienia, towary, klienci where wartosc < (select max(wartosc) from zamowienia)*0.5 AND `towar-id` = towary.id AND `klient-id` = klienci.id; | |
157 | +----+-----------+----------+------------+---------+----+--------------+-------+------+----+-----------+------------+ | |
158 | | id | klient-id | towar-id | data | wartosc | id | nazwa | grupa | cena | id | imie | nazwisko | | |
159 | +----+-----------+----------+------------+---------+----+--------------+-------+------+----+-----------+------------+ | |
160 | | 1 | 1 | 2 | 2012-01-01 | 12.44 | 2 | Nakrętki | 1 | 3.00 | 1 | Jan | Kowalski | | |
161 | | 2 | 1 | 4 | 2012-01-01 | 10.22 | 4 | Płaskowniki | 2 | 9.00 | 1 | Jan | Kowalski | | |
162 | | 6 | 2 | 4 | 2012-03-01 | 2.28 | 4 | Płaskowniki | 2 | 9.00 | 2 | Andrzej | Nowak | | |
163 | | 8 | 3 | 4 | 2012-01-01 | 12.44 | 4 | Płaskowniki | 2 | 9.00 | 3 | Janusz | Malinowski | | |
164 | | 10 | 5 | 4 | 2012-03-02 | 6.11 | 4 | Płaskowniki | 2 | 9.00 | 5 | Krzysztof | Nowicki | | |
165 | +----+-----------+----------+------------+---------+----+--------------+-------+------+----+-----------+------------+ | |
166 | 5 rows in set (0.00 sec) | |
167 | ||
168 | MariaDB [hw1]> select * from towary; | |
169 | +----+--------------+-------+-------+ | |
170 | | id | nazwa | grupa | cena | | |
171 | +----+--------------+-------+-------+ | |
172 | | 1 | Śruby | 1 | 2.00 | | |
173 | | 2 | Nakrętki | 1 | 3.00 | | |
174 | | 3 | Kątowniki | 2 | 8.00 | | |
175 | | 4 | Płaskowniki | 2 | 9.00 | | |
176 | | 5 | Gwoździe | 1 | 1.00 | | |
177 | | 6 | Panele | 3 | 15.00 | | |
178 | | 7 | Wkręty | 1 | 4.00 | | |
179 | | 8 | Deski | 3 | 12.00 | | |
180 | | 9 | Płyty | 3 | 19.00 | | |
181 | +----+--------------+-------+-------+ | |
182 | 9 rows in set (0.00 sec) | |
183 | ||
184 | MariaDB [hw1]> slect avg(cena), grupa from towary group by grupa | |
185 | -> ; | |
186 | ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'slect avg(cena), grupa from towary group by grupa' at line 1 | |
187 | MariaDB [hw1]> select avg(cena), grupa from towary group by grupa | |
188 | -> ; | |
189 | +-----------+-------+ | |
190 | | avg(cena) | grupa | | |
191 | +-----------+-------+ | |
192 | | 2.500000 | 1 | | |
193 | | 8.500000 | 2 | | |
194 | | 15.333333 | 3 | | |
195 | +-----------+-------+ | |
196 | 3 rows in set (0.00 sec) | |
197 | ||
198 | MariaDB [hw1]> select nazwa, cena, grupa from towary where cena > (select cena from towary where cena > 10); | |
199 | ERROR 1242 (21000): Subquery returns more than 1 row | |
200 | MariaDB [hw1]> select nazwa, cena, grupa from towary where cena > (select cena from towary where cena > cena=10); | |
201 | Empty set (0.00 sec) | |
202 | ||
203 | MariaDB [hw1]> select nazwa, cena, grupa from towary where cena > 10; | |
204 | +--------+-------+-------+ | |
205 | | nazwa | cena | grupa | | |
206 | +--------+-------+-------+ | |
207 | | Panele | 15.00 | 3 | | |
208 | | Deski | 12.00 | 3 | | |
209 | | Płyty | 19.00 | 3 | | |
210 | +--------+-------+-------+ | |
211 | 3 rows in set (0.00 sec) | |
212 | ||
213 | MariaDB [hw1]> select nazwa, cena, grupa from towary where cena > 10 group by grupa; | |
214 | +--------+-------+-------+ | |
215 | | nazwa | cena | grupa | | |
216 | +--------+-------+-------+ | |
217 | | Panele | 15.00 | 3 | | |
218 | +--------+-------+-------+ | |
219 | 1 row in set (0.00 sec) | |
220 | ||
221 | MariaDB [hw1]> select nazwa, cena, grupa from towary as XX where cena > (select avg(cena) from towary where towary.grupa = XX.grupa); | |
222 | +--------------+-------+-------+ | |
223 | | nazwa | cena | grupa | | |
224 | +--------------+-------+-------+ | |
225 | | Nakrętki | 3.00 | 1 | | |
226 | | Płaskowniki | 9.00 | 2 | | |
227 | | Wkręty | 4.00 | 1 | | |
228 | | Płyty | 19.00 | 3 | | |
229 | +--------------+-------+-------+ | |
230 | 4 rows in set (0.00 sec) | |
231 | ||
232 | MariaDB [hw1]> select nazwa, cena, grupa from towary as towaryNew where cena > (select avg(cena) from towary where towary.grupa = towaryNew.grupa); | |
233 | +--------------+-------+-------+ | |
234 | | nazwa | cena | grupa | | |
235 | +--------------+-------+-------+ | |
236 | | Nakrętki | 3.00 | 1 | | |
237 | | Płaskowniki | 9.00 | 2 | | |
238 | | Wkręty | 4.00 | 1 | | |
239 | | Płyty | 19.00 | 3 | | |
240 | +--------------+-------+-------+ | |
241 | 4 rows in set (0.00 sec) | |
242 | ||
243 | MariaDB [hw1]> select nazwa, cena, grupa from towary where cena > (select avg(cena) from towary as towaryNew where towary.grupa = towaryNew.grupa); | |
244 | +--------------+-------+-------+ | |
245 | | nazwa | cena | grupa | | |
246 | +--------------+-------+-------+ | |
247 | | Nakrętki | 3.00 | 1 | | |
248 | | Płaskowniki | 9.00 | 2 | | |
249 | | Wkręty | 4.00 | 1 | | |
250 | | Płyty | 19.00 | 3 | | |
251 | +--------------+-------+-------+ | |
252 | 4 rows in set (0.00 sec) | |
253 | ||
254 | MariaDB [hw1]> select * from zamowienia; | |
255 | +----+-----------+----------+------------+---------+ | |
256 | | id | klient-id | towar-id | data | wartosc | | |
257 | +----+-----------+----------+------------+---------+ | |
258 | | 1 | 1 | 2 | 2012-01-01 | 12.44 | | |
259 | | 2 | 1 | 4 | 2012-01-01 | 10.22 | | |
260 | | 3 | 1 | 2 | 2012-02-12 | 15.88 | | |
261 | | 4 | 2 | 1 | 2012-01-01 | 22.35 | | |
262 | | 5 | 2 | 1 | 2012-02-12 | 28.00 | | |
263 | | 6 | 2 | 4 | 2012-03-01 | 2.28 | | |
264 | | 7 | 3 | 1 | 2012-02-11 | 18.48 | | |
265 | | 8 | 3 | 4 | 2012-01-01 | 12.44 | | |
266 | | 9 | 4 | 1 | 2012-03-11 | 15.26 | | |
267 | | 10 | 5 | 4 | 2012-03-02 | 6.11 | | |
268 | +----+-----------+----------+------------+---------+ | |
269 | 10 rows in set (0.00 sec) | |
270 | ||
271 | MariaDB [hw1]> select count(*) as ilosc from zamowienia where wartosc > (select avg(wartosc) from zamowienia); | |
272 | +-------+ | |
273 | | ilosc | | |
274 | +-------+ | |
275 | | 5 | | |
276 | +-------+ | |
277 | 1 row in set (0.00 sec) | |
278 | ||
279 | MariaDB [hw1]> select * from zamowienia; | |
280 | +----+-----------+----------+------------+---------+ | |
281 | | id | klient-id | towar-id | data | wartosc | | |
282 | +----+-----------+----------+------------+---------+ | |
283 | | 1 | 1 | 2 | 2012-01-01 | 12.44 | | |
284 | | 2 | 1 | 4 | 2012-01-01 | 10.22 | | |
285 | | 3 | 1 | 2 | 2012-02-12 | 15.88 | | |
286 | | 4 | 2 | 1 | 2012-01-01 | 22.35 | | |
287 | | 5 | 2 | 1 | 2012-02-12 | 28.00 | | |
288 | | 6 | 2 | 4 | 2012-03-01 | 2.28 | | |
289 | | 7 | 3 | 1 | 2012-02-11 | 18.48 | | |
290 | | 8 | 3 | 4 | 2012-01-01 | 12.44 | | |
291 | | 9 | 4 | 1 | 2012-03-11 | 15.26 | | |
292 | | 10 | 5 | 4 | 2012-03-02 | 6.11 | | |
293 | +----+-----------+----------+------------+---------+ | |
294 | 10 rows in set (0.00 sec) | |
295 | ||
296 | MariaDB [hw1]> select `towar-id`, id, cena from zamowienia where (id,cena) in (select id, min(wartosc) from zamowienia); | |
297 | ERROR 1054 (42S22): Unknown column 'cena' in 'field list' | |
298 | MariaDB [hw1]> select `towar-id`, id, cena from zamowienia where (id,wartosc) in (select id, min(wartosc) from zamowienia); | |
299 | ERROR 1054 (42S22): Unknown column 'cena' in 'field list' | |
300 | MariaDB [hw1]> select `towar-id`, id, wartosc from zamowienia where (id,wartosc) in (select id, min(wartosc) from zamowienia); | |
301 | Empty set (0.00 sec) | |
302 | ||
303 | MariaDB [hw1]> select `towar-id`, id, wartosc from zamowienia where (6,wartosc) in (select id, min(wartosc) from zamowienia); | |
304 | Empty set (0.00 sec) | |
305 | ||
306 | MariaDB [hw1]> select `towar-id`, id, wartosc from zamowienia where (1,wartosc) in (select id, min(wartosc) from zamowienia); | |
307 | +----------+----+---------+ | |
308 | | towar-id | id | wartosc | | |
309 | +----------+----+---------+ | |
310 | | 4 | 6 | 2.28 | | |
311 | +----------+----+---------+ | |
312 | 1 row in set (0.00 sec) | |
313 | ||
314 | MariaDB [hw1]> |