Здравствуйте!
Поддержка не сможет помочь с вопросами, связанными с теорией или задачам из курса «Системный аналитик» — в этой ситуации рекомендуем вам обратиться к вашему преподавателю в чате в Slack.
Если же у вас возникнут иные вопросы — обязательно пишите, будем рады помочь :)
LEFT OUTER JOIN и RIGHT OUTER JOIN вы уже знакомы. Напомним: оператор LEFT OUTER JOIN предполагает, что в результат слияния обязательно войдут все записи из левой таблицы. Записи из правой таблицы сохранятся только в том случае, если значения в поле, по которому происходит объединение, совпадают со значениями в левой таблице. Оператор RIGHT OUTER JOIN устроен аналогичным образом, но бóльшим приоритетом обладает правая таблица. artist и album и вывести всех исполнителей, добавив информацию о музыкальных альбомах, которые они выпустили.artist хранит информацию об исполнителях и содержит поле artist_id с идентификатором и поле name с именем исполнителя. Таблица album содержит данные о музыкальных альбомах и включает в себя поля album_id и title с идентификатором альбома и его названием соответственно, а также поле artist_id с идентификатором исполнителя.artist и album связаны по ключу artist_id, и связь между ними — «один ко многим», ведь одному исполнителю может соответствовать несколько музыкальных альбомов.INNER JOIN не подойдёт: в таком случае исполнители без альбома в итоговую таблицу не попадут. Если использовать оператор LEFT OUTER JOIN, все исполнители попадут в выдачу. LEFT OUTER JOIN или сокращённую версию LEFT JOIN. SELECT art.name,
alb.title
FROM artist AS art
LEFT OUTER JOIN album AS alb ON art.artist_id = alb.artist_id
LIMIT 10; artist и album объединены по ключу artist_id, и благодаря оператору LEFT OUTER JOIN все значения из поля name таблицы artist попадут в итоговую таблицу. Если для какого-то исполнителя не найдётся альбома, на этом месте в поле title появится значение NULL.| name | title |
|---|---|
| AC/DC | For Those About To Rock We Salute You |
| AC/DC | Let There Be Rock |
| Accept | Balls to the Wall |
| Accept | Restless and Wild |
| Aerosmith | Big Ones |
| Alanis Morisette | Jagged Little Pill |
| Alice in Chains | Facelift |
| Antônio Carlos Jobim | Warner 25 Anos |
| Antônio Carlos Jobim | Chill: Brazil (Disc 2) |
| Apocalyptica | Plays Metallica By Four Cellos |
SELECT art.name,
alb.title
FROM album AS alb
RIGHT OUTER JOIN artist AS art ON art.artist_id = alb.artist_id
LIMIT 10; | name | title |
|---|---|
| AC/DC | For Those About To Rock We Salute You |
| AC/DC | Let There Be Rock |
| Accept | Balls to the Wall |
| Accept | Restless and Wild |
| Aerosmith | Big Ones |
| Alanis Morisette | Jagged Little Pill |
| Alice in Chains | Facelift |
| Antônio Carlos Jobim | Warner 25 Anos |
| Antônio Carlos Jobim | Chill: Brazil (Disc 2) |
| Apocalyptica | Plays Metallica By Four Cellos |
LEFT OUTER JOIN и RIGHT OUTER JOIN в большинстве случаев взаимозаменяемы. Достаточно просто поменять местами таблицы в запросе. В некоторых СУБД оператор RIGHT OUTER JOIN совсем не используют, потому что получить нужный результат можно, меняя таблицы местами.SELECT art.name,
COUNT(alb.title) AS total_album
FROM artist AS art
LEFT OUTER JOIN album AS alb ON art.artist_id = alb.artist_id
GROUP BY art.name
ORDER BY total_album DESC
LIMIT 10; | name | total_album |
|---|---|
| Iron Maiden | 21 |
| Led Zeppelin | 14 |
| Deep Purple | 11 |
| Metallica | 10 |
| U2 | 10 |
| Ozzy Osbourne | 6 |
| Pearl Jam | 5 |
| Faith No More | 4 |
| Foo Fighters | 4 |
| Various Artists | 4 |
invoice, которая хранит данные о дате заказа, не содержит информации о купленных треках.track и invoice_line по ключу track_id, а затем присоедините таблицу invoice по ключу invoice_id. В итоговую таблицу поместите два поля: name из таблицы track и invoice_date из таблицы invoice. Приведите дату к нужному формату.LEFT OUTER JOIN или RIGHT OUTER JOIN.employee_last_name и all_customers соответственно. Сгруппируйте записи по идентификатору сотрудника. Отсортируйте количество пользователей по убыванию, а фамилии сотрудников — в лексикографическом порядке.reports_to. Посмотрите внимательно на схему базы: таблица staff отсылает сама к себе. Это нормально, можно не создавать новую таблицу с менеджерами. employee_last_name и manager_last_name.xxxxxxxxxxSELECT t.name, CAST(i.invoice_date AS date)FROM invoice_line AS ilRIGHT OUTER JOIN track AS t ON t.track_id = il.track_idLEFT OUTER JOIN invoice AS i ON il.invoice_id = i.invoice_id;| name | invoice_date |
|---|---|
| Balls to the Wall | 2009-01-01 |
| Restless and Wild | 2009-01-01 |
| Put The Finger On You | 2009-01-02 |
| Inject The Venom | 2009-01-02 |
| Evil Walks | 2009-01-02 |
| Breaking The Rules | 2009-01-02 |
| Dog Eat Dog | 2009-01-03 |
| Overdose | 2009-01-03 |
| Love In An Elevator | 2009-01-03 |
| Janie's Got A Gun | 2009-01-03 |
| Deuces Are Wild | 2009-01-03 |
| Angel | 2009-01-03 |
| Right Through You | 2009-01-06 |
| Not The Doctor | 2009-01-06 |
| Bleed The Freak | 2009-01-06 |
| Confusion | 2009-01-06 |
| Por Causa De Você | 2009-01-06 |
| Angela | 2009-01-06 |
| Master Of Puppets | 2009-01-06 |
| Welcome Home (Sanitarium) | 2009-01-06 |
| Set It Off | 2009-01-06 |
| Your Time Has Come | 2009-01-11 |
| Dandelion | 2009-01-11 |
| Rock 'N' Roll Music | 2009-01-11 |
| Moon germs | 2009-01-11 |
| Super Terrorizer | 2009-01-11 |
| Heart Of Gold | 2009-01-11 |
| Evil Woman | 2009-01-11 |
| Cornucopia | 2009-01-11 |
| Bowels Of The Devil | 2009-01-11 |
| Body Count Anthem | 2009-01-11 |
| Jerusalem | 2009-01-11 |
| When My Left Eye Jumps | 2009-01-11 |
| Meditação | 2009-01-11 |
| Esse Cara | 2009-01-11 |
| Bye, Bye Brasil | 2009-01-19 |
| Atras Da Porta | 2009-02-01 |
| Tatuagem | 2009-02-01 |
| Morena De Angola | 2009-02-01 |
| A Banda | 2009-02-01 |
| Com Açúcar E Com Afeto | 2009-02-02 |
| Meu Caro Amigo | 2009-02-02 |
| Trocando Em Miúdos | 2009-02-02 |
| Gota D'água | 2009-02-02 |
| Etnia | 2009-02-03 |
| Samba Do Lado | 2009-02-03 |
| Sobremesa | 2009-02-03 |
| Sangue De Bairro | 2009-02-03 |
| Amor De Muito | 2009-02-03 |
| Maracatu Atômico [Trip Hop] | 2009-02-03 |
| Samba Makossa | 2009-02-06 |
| Lixo Do Mangue | 2009-02-06 |
| Firmamento | 2009-02-06 |
| Já Foi | 2009-02-06 |
| A Cor Do Sol | 2009-02-06 |
| Firmamento | 2009-02-06 |
| Sábado A Noite | 2009-02-06 |
| Linha Do Equador | 2009-02-06 |
| Livre Pra Viver | 2009-02-06 |
| Lavadeira | 2009-02-11 |
| Dazed and Confused | 2009-02-11 |
| You Shook Me(2) | 2009-02-11 |
| Man With The Woman Head | 2009-02-11 |
| Leandro De Itaquera 2001 | 2009-02-11 |
| Vôo Sobre o Horizonte | 2009-02-11 |
| All Star | 2009-02-11 |
| Tanto Tempo | 2009-02-11 |
| Bumbo Da Mangueira | 2009-02-11 |
| Die Die My Darling | 2009-02-11 |
| Radio GA GA | 2009-02-11 |
| I'm Going Slightly Mad | 2009-02-11 |
| Sure Know Something | 2009-02-11 |
| God Of Thunder | 2009-02-11 |
| Valentino's | 2009-02-19 |
| Believe | 2009-03-04 |
| As We Sleep | 2009-03-04 |
| J Squared | 2009-03-04 |
| Maria | 2009-03-04 |
| Longview | 2009-03-05 |
| Basket Case | 2009-03-05 |
| She | 2009-03-05 |
| Geek Stink Breath | 2009-03-05 |
| Stuck With Me | 2009-03-06 |
| Nice Guys Finish Last | 2009-03-06 |
| Macy's Day Parade | 2009-03-06 |
| Don't You Cry | 2009-03-06 |
| Living On Love | 2009-03-06 |
| Wherever You May Go | 2009-03-06 |
| Diga Lá, Coração | 2009-03-09 |
| Comportamento Geral | 2009-03-09 |
| Podres Poderes | 2009-03-09 |
| Queixa | 2009-03-09 |
| Ando Meio Desligado | 2009-03-09 |
| Vida De Cachorro | 2009-03-09 |
| Meu Refrigerador Não Funciona | 2009-03-09 |
| Smoke On The Water | 2009-03-09 |
| Trampled Under Foot | 2009-03-09 |
| União Da Ilha | 2009-03-14 |
| Put Your Lights On | 2009-03-14 |
| Primavera | 2009-03-14 |
| Seis Da Tarde | 2009-03-14 |
| Compulsion | 2009-03-14 |
| The Pan Piper | 2009-03-14 |
| Jean Pierre (Live) | 2009-03-14 |
| Drum Boogie | 2009-03-14 |
| Lemon Drop | 2009-03-14 |
| Showcase | 2009-03-14 |
| Como É Duro Trabalhar | 2009-03-14 |
| Pela Luz dos Olhos Teus (Miúcha e Tom Jobim) | 2009-03-14 |
| As Rosas Não Falam (Beth Carvalho) | 2009-03-14 |
| Green River | 2009-03-14 |
| Someday Never Comes | 2009-03-22 |
| Walking On The Water | 2009-04-04 |
| Suzie-Q, Pt. 2 | 2009-04-04 |
| Good Golly Miss Molly | 2009-04-04 |
| Wrote A Song For Everyone | 2009-04-04 |
| Cotton Fields | 2009-04-05 |
| Don't Look Now | 2009-04-05 |
| Before You Accuse Me | 2009-04-05 |
| Pagan Baby | 2009-04-05 |
| Born To Move | 2009-04-06 |
| Brasil | 2009-04-06 |
| Coroné Antonio Bento | 2009-04-06 |
| Música Urbana 2 | 2009-04-06 |
| Woman Is The Nigger Of The World (Ao Vivo) | 2009-04-06 |
| Smells Like Teen Spirit (Ao Vivo) | 2009-04-06 |
| Admirável Gado Novo | 2009-04-09 |
| Mis Penas Lloraba Yo (Ao Vivo) Soy Gitano (Tangos) | 2009-04-09 |
| Drifter | 2009-04-09 |
| Child In Time | 2009-04-09 |
| No No No | 2009-04-09 |
| Knocking At Your Back Door | 2009-04-09 |
| The Unwritten Law | 2009-04-09 |
| Maybe I'm A Leo | 2009-04-09 |
| Vavoom : Ted The Mechanic | 2009-04-09 |
| Hey Cisco | 2009-04-14 |
| Fortuneteller | 2009-04-14 |
| High Ball Shooter | 2009-04-14 |
| A Twist In The Tail | 2009-04-14 |
| Animal | 2009-04-14 |
| Hysteria | 2009-04-14 |
| Baltimore, DC | 2009-04-14 |
| Esquinas | 2009-04-14 |
| Açai | 2009-04-14 |
| Um Amor Puro | 2009-04-14 |
| Fascinação | 2009-04-14 |
| Sunshine Of Your Love | 2009-04-14 |
| Lay Down Sally | 2009-04-14 |
| Tears In Heaven | 2009-04-14 |
| Naked In Front Of The Computer | 2009-04-22 |
| Helpless | 2009-05-05 |
| Mouth To Mouth | 2009-05-05 |
| She Loves Me Not | 2009-05-05 |
| Paths Of Glory | 2009-05-05 |
| Pristina | 2009-05-06 |
| Caffeine | 2009-05-06 |
| RV | 2009-05-06 |
| Everything's Ruined | 2009-05-06 |
| A Small Victory | 2009-05-07 |
| Easy | 2009-05-07 |
| The Gentle Art Of Making Enemies | 2009-05-07 |
| Ugly In The Morning | 2009-05-07 |
| What A Day | 2009-05-07 |
| From Out Of Nowhere | 2009-05-07 |
| Underwater Love | 2009-05-10 |
| Falamansa Song | 2009-05-10 |
| Avisa | 2009-05-10 |
| Desaforo | 2009-05-10 |
| The Last Song | 2009-05-10 |
| What If I Do? | 2009-05-10 |
| Virginia Moon | 2009-05-10 |
| Times Like These | 2009-05-10 |
| Burn Away | 2009-05-10 |
| See You | 2009-05-15 |
| I Get A Kick Out Of You | 2009-05-15 |
| Fly Me To The Moon | 2009-05-15 |
| Mack The Knife | 2009-05-15 |
| Funk Hum | 2009-05-15 |
| Forty Days Instrumental | 2009-05-15 |
| Pau-De-Arara | 2009-05-15 |
| Stir It Up (Live) | 2009-05-15 |
| A Novidade (Live) | 2009-05-15 |
| Realce | 2009-05-15 |
| Aquele Abraço | 2009-05-15 |
| Re-Align | 2009-05-15 |
| Holiday | 2009-05-15 |
| Homecoming / The Death Of St. Jimmy / East 12th St. / Nobody Likes You / Rock And Roll Girlfriend / We're Coming Home Again | 2009-05-15 |
| Right Next Door to Hell | 2009-05-23 |
| Dust N' Bones | 2009-06-05 |
| Live and Let Die | 2009-06-05 |
| Perfect Crime | 2009-06-05 |
| Bad Obsession | 2009-06-05 |
| Double Talkin' Jive | 2009-06-06 |
| The Garden | 2009-06-06 |
| Don't Damn Me | 2009-06-06 |
| Dead Horse | 2009-06-06 |
| Yesterdays | 2009-06-07 |
| Breakdown | 2009-06-07 |
| Estranged | 2009-06-07 |
| Colibri | 2009-06-07 |