\renewcommand{\Verteilung}{5+4} \begin{Aufg}[Joins] Ein soziales Netzwerk verwaltet alle User, Freundschaftsbeziehungen, sowie alle Posts in einer Datenbank mit folgenden Tabellen: \\ \texttt{Nutzer[\underline{nutzername}: TEXT, vorname: TEXT, nachname: TEXT, alter: DATE]} \\ \texttt{Freundschaft[\underline{\dashuline{freund1: TEXT}, \dashuline{freund2: TEXT}}]} \\ \texttt{Posts[\underline{id: INTEGER}, inhalt: TEXT, datum: DATE, \dashuline{nutzer: TEXT}]} \\ \vspace{-1.2cm} \begin{enumerate}[a)] \item Formuliere eine SQL-Abfrage, die die Namen aller befreundeten Nutzer liefert. \item Formuliere eine SQL-Abfrage, die die \textbf{Anzahl} der Posts von Freunden des Nutzers \textbf{rezo} ausgiebt. \end{enumerate} \end{Aufg} \begin{Lsg} \begin{enumerate}[a)] \item \begin{minted}{sql} SELECT n1.name, n2.name FROM Nutzer AS n1, Nutzer AS n2, Freundschaft WHERE f1.nutzername = Feundschaft.freund1 AND n2.nutzername = Freundschaft.freund2; \end{minted} \BE{1} Select \BE{2} From \BE{2} Where \item \begin{minted}{sql} SELECT Count(Posts.id) FROM Nutzer AS n1, Nutzer AS n2, Freundschaft, Posts WHERE n1.nutzername = Freundschaft.freund1 AND n2.nutzername = Freundschaft.freund2 AND n1.nutzername = "rezo" AND n2.nutzername = Posts.nutzer; \end{minted} \BE{1} Select+Count \BE{1} From+Posts \BE{2} Where Rezo | 1,n Join \end{enumerate} \end{Lsg}