2. - Louise Grandjonc (louise@ulule.com)
- Lead dev chez Ulule (www.ulule.com)
- Aime Postgres et le python
- @louisemeta sur twitter
- PGDay 2018 si vous avez envie de parler
d’EXPLAIN
A propos de moi
4. Solution 1
Le papier
Avantages:
- Vous n’aimez pas les ordinateurs
- Votre ordinateur est cassé (cf
plus haut)
- Vous êtes étudiant, en amphi, et
vos profs n’aiment pas les ordis
Inconvénient:
- Pour tester, c’est pas pratique
5. Solution 2
La base de donnée de prod
Avantages:
- Vous n’aimez pas votre entreprise
- Pas besoin d’installer postgres sur
votre machine
- Vous avez un dataset complet
- Laetitia de Loxodata gagnera
beaucoup d’argent
Inconvénients:
- Aucun, c’est une brillante idée, allez-y
7. Comment ça marche
pgexercices.com propose deux solutions:
- installer postgres sur sa machine et télécharger un
data.sql pour remplir une base
- 3 tables
- 4000 rows dans la premiere, une 40aine dans les
autres
- Faire leurs exercices en ligne
10. Premier exercice de
l’apprentissage
L’onglet basic comprend:
- SELECT *
- SELECT columns
- L’utilisation de case when
- WHERE
- ORDER BY
- LIMIT
- DISTINCT
- UNION
- Agrégations
11. Dernier exercice…
Produce a CTE that can return the upward
recommendation chain for any member. You
should be able to select recommender
from recommenders where member=x.
Demonstrate it by getting the chains for
members 12 and 22. Results table should
have member and recommender, ordered by
member ascending, recommender
descending.
12. Dernier exercice…
with recursive recommenders(recommender, member) as (
select recommendedby, memid
from cd.members
union all
select mems.recommendedby, recs.member
from recommenders recs
inner join cd.members mems
on mems.memid = recs.recommender
)
select recs.member member, recs.recommender,
mems.firstname, mems.surname
from recommenders recs
inner join cd.members mems
on recs.recommender = mems.memid
where recs.member = 22 or recs.member = 12
order by recs.member asc, recs.recommender desc
13. Thank you for your attention !
Any questions?
Owly design: zimmoriarty (https://www.instagram.com/zimmoriarty/)