Skip to content
This repository was archived by the owner on Sep 11, 2024. It is now read-only.

Commit ec52072

Browse files
committed
WIP
1 parent e36ecec commit ec52072

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

lessons/pydata/databases/index.ipynb

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1762,7 +1762,11 @@
17621762
"cell_type": "markdown",
17631763
"metadata": {},
17641764
"source": [
1765-
"## SELECT ... GROUP BY"
1765+
"## SELECT ... GROUP BY\n",
1766+
"\n",
1767+
"GROUP BY umožňuje \"shluknout\" řádky do *skupin*, a nad těmito skupinami pak provádět agregační funkce (MIN, MAX, AVG, COUNT apod.).\n",
1768+
"\n",
1769+
"Tyto skupiny pak lze dále filtrovat pomocí HAVING (podobně jako WHERE filtruje *řádky*, a to *předtím*, než se z nich vytvářejí ty *skupiny*)."
17661770
]
17671771
},
17681772
{
@@ -1973,8 +1977,18 @@
19731977
"source": [
19741978
"## Struktura SQL dotazu\n",
19751979
"\n",
1980+
"Ještě rekapitulace, jak se probíhá provádění SQL dotazu :)\n",
1981+
"\n",
1982+
"1. databáze vezme tabulky vyjmenované ve FROM a JOIN\n",
1983+
"2. databáze čte řádky (jeden po druhém) z těch tabulek (už spojené podle příslušných JOIN výrazů)\n",
1984+
"3. ty řádky se filtrují podle uvedených WHERE výrazů\n",
1985+
"4. přefiltrované řádky se seskupí podle GROUP BY výrazů do skupin\n",
1986+
"5. ty skupiny se filtrují pode uvedených HAVING výrazů\n",
1987+
"6. to,\n",
1988+
"\n",
1989+
"\n",
19761990
"Probrali jsme jen to nejdůležitější. Pro představu, jaké jsou možnosti zápisu SELECT dotazu\n",
1977-
":\n",
1991+
"(převzato z [dokumentace SQLite](https://www.sqlite.org/lang_select.html)):\n",
19781992
"\n",
19791993
"<div><br><img src=\"https://www.sqlite.org/images/syntax/select-stmt.gif\" width=500><br></div>"
19801994
]

0 commit comments

Comments
 (0)