Sobes.tech
Senior

-- # -- Οι διαφημιστές ξεκινούν προωθητικές καμπάνιες στην εφαρμογή της υπηρεσίας. Υπάρχουν δύο πίνακες: -- # -- campaigns - λίστα καμπανιών -- # -- - campaign - όνομα καμπάνιας -- # -- - action_type - τύπος καμπάνιας: "push" ή "banner" -- # -- communications - καταγραφή backend με τις αποστολές επικοινωνιών αυτών των καμπανιών στους χρήστες -- # -- - user_id - αναγνωριστικό χρήστη -- # -- - campaign - όνομα καμπάνιας -- # -- - status - κατάσταση συμβάντος: "success" ή "error" -- ------------------------------------------------------------------------------------------------------------------------ -- # -- 1. Αρχικά, στον πίνακα campaigns υπάρχουν 4 γραμμές: -- # -- | campaign | action_type | -- # -- |-------------|-------------| -- # -- | promo_dogs | push | -- # -- | promo_cats | banner | <- τυχαία διπλότυπο -- # -- | promo_cats | banner | <- δύο γραμμές -- # -- | promo_rats | push | # # -- Επιπλέον, είναι γνωστό ότι: -- # -- οι καμπάνιες promo_dogs και promo_cats πραγματοποιήθηκαν με επιτυχία σε 100 χρήστες, και κάθε χρήστης έλαβε μια επικοινωνία, -- # -- ενώ η promo_rats βρίσκεται μόνο στο στάδιο του σχεδιασμού. -- # -- 1.1 Τι θα εμφανίσει το ερώτημα: SELECT campaign, COUNT(*) as rows, COUNT(DISTINCT co.user_id) AS users FROM campaigns AS ca INNER JOIN communications AS co ON ca.campaign = co.campaign GROUP BY ca.campaign -- # -- 1.2 Πώς θα αλλάξει η απάντηση αν αλλάξει ο τύπος JOIN σε LEFT; -- # -- 1.3 Δώστε τη σειρά εκτέλεσης των τελεστών σε αυτό το ερώτημα. -- Απάντηση: promo_dogs ... ...