/
AlexStone
/
Java25sep
Обзор
Документация
Войти
/
AlexStone
/
Java25sep
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
java/tasks 29.html
1 058 строк
41 KB
unknown
КР 05.11.25
05 ноя 2025, 09:55
05 ноя 2025, 09:55
4a942c9
Код
Авторство
О чём код?
<!DOCTYPE html><html lang="ru"><head><meta charset='utf-8'/><title>29 SQL СУБД</title><style>.check_single { margin:15px; border:1px solid black; padding:5px; width:calc(100% - 40px); } sqrt val { border-top: 1px solid black; } sqrt:before { content:"\221A"; } .section { counter-reset:section; } .section h3:after { counter-increment:section; content: " " counter(section); } table { border-collapse:collapse; } .check_values, .check_values_v2 { width:100%; counter-reset:test_case; } .check_values td:first-child::before { counter-increment:test_case; content: counter(test_case); } table td, table th { border:1px solid black; text-align:center; } .check_values td:first-child, .check_values_v2 td:first-child{ width:40px; } .check_values td, .check_values_v2 td { max-width: 450px; } .lab_nav ol { list-style:none; } .nav { position:fixed; top:0; right:0; margin:15px; clear:both; } .nav ul{ list-style-type:none; padding:0; float:left; } .nav li { margin:2px; border:1px solid black; } .nav li a { display:block; padding:7px; } .task_block { width:80%; page-break-inside:avoid; padding:10px; display:block; } .task_block:target{ background-color:lightgrey; } .task_block:target .task_id{ color:white; } .task_id { float:right; color:lightgrey; } .quiz_block { width:80%; } .quiz_block:target{ background-color:lightgrey; } .task_desc { margin:5px; } .example_image { width:200px; } .lab_nav { width:80%; overflow:auto; } .check_values .preformatted, .preformatted { font-family:monospace; white-space-collapse:preserve; white-space:pre; text-wrap:pretty; text-align:left; padding:10px; } .stream_values tr td:nth-child(3) { border-top-width:0; border-bottom-width:0; text-align:left; } .stream_values tr:nth-child(2) td:nth-child(2) { border-top-width:0; border-bottom-width:0; text-align:right; } .stream_values tr td:nth-child(1){ border-top-width:0; border-bottom-width:0; text-align:right; } .stream_values tr.test_row td:nth-child(2){ text-align:right; } .stream_values tr td:nth-child(2){ border-top-width:0; border-bottom-width:0; text-align:left; } .stream_values .preformatted{ padding: 0; } .stream_values tr.test_row td { border-top-width:1px; } .stream_values tr.test_row td:first-of-type { border-top-width:1px; border-bottom-width:1px; text-align:center; width:15px; } .stream_values tr:last-of-type td { border-bottom-width:1px; } .stream_values { width:100%; } formula { font-weight:bold; text-align:center; vertical-align:middle; } fraction { display:inline-block; text-align:center; vertical-align:middle; font-weight:bold; } formula .abs{ border-left: solid black 1px; border-right: solid black 1px; padding: 2px; } numerator { display:block; border-bottom:2px solid black; } denominator { display:block; } .comment{ color:darkgrey; } .step{ display:none; } .step:last-child, .step:target{ display:block; } .step:target ~ .step:last-child{ display:none; } .console{ background-color:black; color:white; width:300px; } .zoom{ background-color:lightgrey; font-size:40pt; padding:0 10px; } .task_block:target .zoom { background-color:white; }</style><meta name="author" content="Подборка задач, выбор порядка подачи и подготовка тестовых данных - Крюков Александр, Омск 2013-2019"/></head><body class='section'><a name='heading'><h1>SQL СУБД</h1></a><div class='lab_nav'>Другие темы<ol> <li>1 <a href='tasks 1.html'>Печать текста на экран</a></li> <li>2 <a href='tasks 2.html'>Заполнение шаблона данными от пользователя</a></li> <li>3 <a href='tasks 3.html'>Организация вычислений</a></li> <li>4 <a href='tasks 4.html'>Проверка исходных данных</a></li> <li>5 <a href='tasks 5.html'>Запуск программы с известными исходными данными</a></li> <li>6 <a href='tasks 6.html'>Взаимоисключающие случаи</a></li> <li>7 <a href='tasks 7.html'>Работа с интервалами значений</a></li> <li>8 <a href='tasks 8.html'>Реорганизация повторяющихся действий</a></li> <li>9 <a href='tasks 9.html'>Обработка неизвестного объема данных</a></li> <li>10 <a href='tasks 10.html'>Вложенные циклы</a></li> <li>11 <a href='tasks 11.html'>Базовые операции с массивами</a></li> <li>12 <a href='tasks 12.html'>Перестановки элементов массива</a></li> <li>13 <a href='tasks 13.html'>Использование числовых массивов</a></li> <li>14 <a href='tasks 14.html'>Вычисление агрегатов</a></li> <li>15 <a href='tasks 15.html'>Поиск в массиве</a></li> <li>16 <a href='tasks 16.html'>Сортировка вставкой</a></li> <li>17 <a href='tasks 17.html'>Строки</a></li> <li>18 <a href='tasks 18.html'>Чтение файлов</a></li> <li>19 <a href='tasks 19.html'>Запись в файлы</a></li> <li>20 <a href='tasks 20.html'>Возврат значения</a></li> <li>21 <a href='tasks 21.html'>Перехват исключений</a></li> <li>22 <a href='tasks 22.html'>Выбрасывание исключений</a></li> <li>23 <a href='tasks 23.html'>Составные типы данных</a></li> <li>24 <a href='tasks 24.html'>Внутреннее состояние</a></li> <li>25 <a href='tasks 25.html'>Коллекции</a></li> <li>26 <a href='tasks 26.html'>Рекурсия</a></li> <li>27 <a href='tasks 27.html'>Даты</a></li> <li>28 <a href='tasks 28.html'>Комбинаторика</a></li> <li>29 <a href='tasks 29.html'>SQL СУБД</a></li> <li>30 <a href='tasks 30.html'>Псевдослучайные числа</a></li> <li>31 <a href='tasks 31.html'>Реализация стандартных интерфейсов</a></li> </ol></div><div class='nav'><ul><li><a href='#heading'>^</a></li><li><a href='#task7361'>1</a><li><a href='#task8741'>2</a><li><a href='#task6275'>3</a><li><a href='#task1846'>4</a><li><a href='#task6593'>5</a><li><a href='#task1759'>6</a><li><a href='#task9764'>7</a><li><a href='#task9761'>8</a><li><a href='#task4274'>9</a><li><a href='#task6805'>10</a><li><a href='#task7845'>11</a><li><a href='#task9857'>12</a><li><a href='#task6421'>13</a><li><a href='#task9479'>14</a></ul></div><div id='task7361' class='task_block'> <div class='task_id'>7361</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит идентификатор альбома(AlbumId). Напечатать на экран названия(Name) треков(Tracks), которые в него входят. </div> <div class='task_desc'> Чтобы использовать СУБД, нужно добавить библиотеки: </div> <ol start='1'><li><a href="files/task7361/slf4j-api-1.7.36.jar" target="_blank">скачать slf4j-api-1.7.36.jar</a></li><li><a href="files/task7361/sqlite-jdbc-3.44.1.0.jar" target="_blank">скачать sqlite-jdbc-3.44.1.0.jar</a></li></ol><div class='task_desc'> Файл базы данных это <a href="files/task7361/chinook.db" target="_blank">скачать chinook.db</a> </div> <div class='task_desc'> Чтобы отладить запрос, можно воспользоваться утилитами: </div> <ol start='3'><li><a href="files/task7361/sqlite3.exe" target="_blank">скачать sqlite3.exe</a></li><li><a href="files/task7361/sqldiff.exe" target="_blank">скачать sqldiff.exe</a></li><li><a href="files/task7361/sqlite3_analyzer.exe" target="_blank">скачать sqlite3_analyzer.exe</a></li></ol><table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (AlbumId)</th><th>Результат</th></tr> <tr><td>1</td><td>10</td><td class='preformatted'>Cochise Show Me How to Live Gasoline What You Are Like a Stone Set It Off Shadow on the Sun I am the Highway Exploder Hypnotize Bring'em Back Alive Light My Way Getaway Car The Last Remaining Light </td></tr> <tr><td>2</td><td>15</td><td class='preformatted'>Heart Of Gold Snowblind Like A Bird Blood In The Wall The Beginning...At Last </td></tr> <tr><td>3</td><td>413</td><td class='preformatted'></td></tr> <tr><td>4</td><td>3</td><td class='preformatted'>Fast As a Shark Restless and Wild Princess of the Dawn </td></tr> </table> <div class='task_desc'> В методе main нужно дописать "throws" как в примере ниже: </div> <div class='check_single preformatted'>public static void main(String[] args) throws SQLException {</div> <div class='task_desc'> Пример кода для получения данных из БД: </div> <div class='check_single preformatted'>String path = "./files/sqlite/chinook.db"; //Устанави подключение к файлу Базы Данных Connection connection = DriverManager.getConnection("jdbc:sqlite:" + path); //Подготовь запрос String sql = "select Name from tracks where AlbumId=?"; PreparedStatement statement = connection.prepareStatement(sql); //укажи, что вместо вопроса нужно подставить значение от пользователя statement.setInt(1, Integer.parseInt(albumId)); //выполни запрос ResultSet rs = statement.executeQuery(); //если в результате есть данные, перейди к первой/следующей строчке while (rs.next()) { //в текущей строчке результата(таблицы) прочитай данные из колонки Name String name = rs.getString("Name"); System.out.println(name);//выведи данные на экран } </div> </div> <div id='task8741' class='task_block'> <div class='task_id'>8741</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит идентификатор исполнителя(ArtistId). Напечатать на экран названия(Title) альбомов(albums) указанного исполнителя. </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (ArtistId)</th><th>Результат</th></tr> <tr><td>1</td><td>8</td><td class='preformatted'>Audioslave Out Of Exile Revelations </td></tr> <tr><td>2</td><td>118</td><td class='preformatted'>Live On Two Legs [Live] Pearl Jam Riot Act Ten Vs. </td></tr> <tr><td>3</td><td>315</td><td class='preformatted'></td></tr> <tr><td>4</td><td>256</td><td class='preformatted'>Mendelssohn: A Midsummer Night's Dream </td></tr> </table> </div> <div id='task6275' class='task_block'> <div class='task_id'>6275</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит идентификатор трека(TrackId). Нужно вывести информацию о треке: Название (Name), композитор (Composer), длительность (Milliseconds), цену (UnitPrice). </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (TrackId)</th><th>Результат</th></tr> <tr><td>1</td><td>91</td><td class='preformatted'>Название: Shadow on the Sun Композитор: Audioslave/Chris Cornell Длительность: 343457 Цена: 0.99 </td></tr> <tr><td>2</td><td>144</td><td class='preformatted'>Название: Heart Of Gold Композитор: null Длительность: 194873 Цена: 0.99 </td></tr> <tr><td>3</td><td>3</td><td class='preformatted'>Название: Fast As a Shark Композитор: F. Baltes, S. Kaufman, U. Dirkscneider & W. Hoffman Длительность: 230619 Цена: 0.99 </td></tr> <tr><td>4</td><td>5</td><td class='preformatted'>Название: Princess of the Dawn Композитор: Deaffy & R.A. Smith-Diesel Длительность: 375418 Цена: 0.99 </td></tr> </table> </div> <div id='task1846' class='task_block'> <div class='task_id'>1846</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит длительность(upperMilliseconds) - целое число и цену(lowerUnitPrice) - действительное число. Вывести длительность(Milliseconds), цену(UnitPrice), название(Name) и композитора(Composer) всех треков, у которых длительность меньше указанной, а цена выше указанной. </div> <table class='check_values_v2'> <tr><th rowspan='2'>Номер теста</th><th colspan='2'>Исходные данные</th><th rowspan='2'>Результат</th></tr><tr> <th>upperMilliseconds</th><th>lowerUnitPrice</th></tr> <tr> <td>1</td><td>10000</td><td>0.01</td><td class='preformatted'>4884 0.99 Now Sports null 6373 0.99 A Statistic null 6635 0.99 Oprah null 1071 0.99 É Uma Partida De Futebol Samuel Rosa 7941 0.99 Commercial 1 L. Muggerud </td></tr> <tr> <td>2</td><td>1250000</td><td>1.00</td><td class='preformatted'>1237791 1.99 Michael's Birthday null 112712 1.99 LOST Season 4 Trailer null 497163 1.99 LOST In 8:15 null </td></tr> <tr> <td>3</td><td>500000</td><td>1.00</td><td class='preformatted'>112712 1.99 LOST Season 4 Trailer null 497163 1.99 LOST In 8:15 null </td></tr> </table> </div> <div id='task6593' class='task_block'> <div class='task_id'>6593</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит три идентификатора альбома(albumId). Нужно вывести длительность(Milliseconds), идентификатор альбома(AlbumId), цену(UnitPrice) и наименование(Name) треков, которые входят в один из указанных альбомов. </div> <table class='check_values_v2'> <tr><th rowspan='2'>Номер теста</th><th colspan='3'>Исходные данные</th><th rowspan='2'>Результат</th></tr> <tr><th>firstAlbumId</th><th>secondAlbumId</th><th>thirdAlbumId</th></tr> <tr><td>1</td><td>87</td><td>138</td><td>15</td><td class='preformatted'>194873 15 0.99 Heart Of Gold 420022 15 0.99 Snowblind 276532 15 0.99 Like A Bird 284368 15 0.99 Blood In The Wall 271960 15 0.99 The Beginning...At Last 356101 87 0.99 Doce De Carnaval (Candy All) 294530 87 0.99 Lamento De Carnaval 265273 87 0.99 Pretinha 749897 138 0.99 No Quarter 657293 138 0.99 Stairway To Heaven 766354 138 0.99 Moby Dick 863895 138 0.99 Whole Lotta Love </td></tr> <tr><td>2</td><td>50</td><td>15</td><td>3</td><td class='preformatted'>230619 3 0.99 Fast As a Shark 252051 3 0.99 Restless and Wild 375418 3 0.99 Princess of the Dawn 194873 15 0.99 Heart Of Gold 420022 15 0.99 Snowblind 276532 15 0.99 Like A Bird 284368 15 0.99 Blood In The Wall 271960 15 0.99 The Beginning...At Last 1196094 50 0.99 Space Truckin' 913658 50 0.99 Going Down / Highway Star 854700 50 0.99 Mistreated (Alternate Version) 763924 50 0.99 You Fool No One (Alternate Version) </td></tr> <tr><td>3</td><td>269</td><td>500</td><td>600</td><td class='preformatted'>384497 269 0.99 Say Hello 2 Heaven 672773 269 0.99 Reach Down 246292 269 0.99 Hunger Strike 225278 269 0.99 Pushin Forward Back 304458 269 0.99 Call Me a Dog 342539 269 0.99 Times of Trouble 250565 269 0.99 Wooden Jesus 244226 269 0.99 Your Savior 414474 269 0.99 Four Walled World 231803 269 0.99 All Night Thing </td></tr> </table> </div> <div id='task1759' class='task_block'> <div class='task_id'>1759</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит текст. Нужно найти идентификатор(TrackId), полное название(Name) и композитора(Composer) треков(tracks), у которых введенный текст присутствует в поле название(Name) или композитор(Composer). </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (search)</th><th>Результат</th></tr> <tr><td>1</td><td>bizet</td><td class='preformatted'>3447 Carmen: Overture Georges Bizet </td></tr> <tr><td>2</td><td>cop</td><td class='preformatted'>162 Cornucopia Tony Iommi, Bill Ward, Geezer Butler, Ozzy Osbourne 1098 Copacabana (Live) null 2723 Gyroscope The Tea Party 3427 Fanfare for the Common Man Aaron Copland </td></tr> <tr><td>3</td><td>glass</td><td class='preformatted'>2862 The Glass Ballerina null 3224 Through a Looking Glass null 3251 Through the Looking Glass, Pt. 2 null 3252 Through the Looking Glass, Pt. 1 null 3503 Koyaanisqatsi Philip Glass </td></tr> <tr><td>4</td><td>beat</td><td class='preformatted'>3024 Two Hearts Beat As One U2 </td></tr> <tr><td>5</td><td>story</td><td class='preformatted'>1455 Just Another Story Toby Smith 1778 You're What's Happening (In The World Today) Allen Story/George Gordy/Robert Gordy 2819 Battlestar Galactica: The Story So Far null </td></tr> </table> </div> <div id='task9764' class='task_block'> <div class='task_id'>9764</div> <h3>Задача</h3> <div class='task_desc'> Нужно вывести на экран список идентификаторов (artistId) и имен (name) всех исполнителей (artists). </div> <div class='check_single preformatted'>1 AC/DC 2 Accept 3 Aerosmith 4 Alanis Morissette 5 Alice In Chains 6 Antônio Carlos Jobim 7 Apocalyptica 8 Audioslave 9 BackBeat 10 Billy Cobham 11 Black Label Society 12 Black Sabbath 13 Body Count 14 Bruce Dickinson 15 Buddy Guy 16 Caetano Veloso 17 Chico Buarque 18 Chico Science & Nação Zumbi 19 Cidade Negra 20 Cláudio Zoli 21 Various Artists 22 Led Zeppelin 23 Frank Zappa & Captain Beefheart 24 Marcos Valle 25 Milton Nascimento & Bebeto 26 Azymuth 27 Gilberto Gil 28 João Gilberto 29 Bebel Gilberto 30 Jorge Vercilo 31 Baby Consuelo 32 Ney Matogrosso 33 Luiz Melodia 34 Nando Reis 35 Pedro Luís & A Parede 36 O Rappa 37 Ed Motta 38 Banda Black Rio 39 Fernanda Porto 40 Os Cariocas 41 Elis Regina 42 Milton Nascimento 43 A Cor Do Som 44 Kid Abelha 45 Sandra De Sá 46 Jorge Ben 47 Hermeto Pascoal 48 Barão Vermelho 49 Edson, DJ Marky & DJ Patife Featuring Fernanda Porto 50 Metallica 51 Queen 52 Kiss 53 Spyro Gyra 54 Green Day 55 David Coverdale 56 Gonzaguinha 57 Os Mutantes 58 Deep Purple 59 Santana 60 Santana Feat. Dave Matthews 61 Santana Feat. Everlast 62 Santana Feat. Rob Thomas 63 Santana Feat. Lauryn Hill & Cee-Lo 64 Santana Feat. The Project G&B 65 Santana Feat. Maná 66 Santana Feat. Eagle-Eye Cherry 67 Santana Feat. Eric Clapton 68 Miles Davis 69 Gene Krupa 70 Toquinho & Vinícius 71 Vinícius De Moraes & Baden Powell 72 Vinícius De Moraes 73 Vinícius E Qurteto Em Cy 74 Vinícius E Odette Lara 75 Vinicius, Toquinho & Quarteto Em Cy 76 Creedence Clearwater Revival 77 Cássia Eller 78 Def Leppard 79 Dennis Chambers 80 Djavan 81 Eric Clapton 82 Faith No More 83 Falamansa 84 Foo Fighters 85 Frank Sinatra 86 Funk Como Le Gusta 87 Godsmack 88 Guns N' Roses 89 Incognito 90 Iron Maiden 91 James Brown 92 Jamiroquai 93 JET 94 Jimi Hendrix 95 Joe Satriani 96 Jota Quest 97 João Suplicy 98 Judas Priest 99 Legião Urbana 100 Lenny Kravitz 101 Lulu Santos 102 Marillion 103 Marisa Monte 104 Marvin Gaye 105 Men At Work 106 Motörhead 107 Motörhead & Girlschool 108 Mônica Marianno 109 Mötley Crüe 110 Nirvana 111 O Terço 112 Olodum 113 Os Paralamas Do Sucesso 114 Ozzy Osbourne 115 Page & Plant 116 Passengers 117 Paul D'Ianno 118 Pearl Jam 119 Peter Tosh 120 Pink Floyd 121 Planet Hemp 122 R.E.M. Feat. Kate Pearson 123 R.E.M. Feat. KRS-One 124 R.E.M. 125 Raimundos 126 Raul Seixas 127 Red Hot Chili Peppers 128 Rush 129 Simply Red 130 Skank 131 Smashing Pumpkins 132 Soundgarden 133 Stevie Ray Vaughan & Double Trouble 134 Stone Temple Pilots 135 System Of A Down 136 Terry Bozzio, Tony Levin & Steve Stevens 137 The Black Crowes 138 The Clash 139 The Cult 140 The Doors 141 The Police 142 The Rolling Stones 143 The Tea Party 144 The Who 145 Tim Maia 146 Titãs 147 Battlestar Galactica 148 Heroes 149 Lost 150 U2 151 UB40 152 Van Halen 153 Velvet Revolver 154 Whitesnake 155 Zeca Pagodinho 156 The Office 157 Dread Zeppelin 158 Battlestar Galactica (Classic) 159 Aquaman 160 Christina Aguilera featuring BigElf 161 Aerosmith & Sierra Leone's Refugee Allstars 162 Los Lonely Boys 163 Corinne Bailey Rae 164 Dhani Harrison & Jakob Dylan 165 Jackson Browne 166 Avril Lavigne 167 Big & Rich 168 Youssou N'Dour 169 Black Eyed Peas 170 Jack Johnson 171 Ben Harper 172 Snow Patrol 173 Matisyahu 174 The Postal Service 175 Jaguares 176 The Flaming Lips 177 Jack's Mannequin & Mick Fleetwood 178 Regina Spektor 179 Scorpions 180 House Of Pain 181 Xis 182 Nega Gizza 183 Gustavo & Andres Veiga & Salazar 184 Rodox 185 Charlie Brown Jr. 186 Pedro Luís E A Parede 187 Los Hermanos 188 Mundo Livre S/A 189 Otto 190 Instituto 191 Nação Zumbi 192 DJ Dolores & Orchestra Santa Massa 193 Seu Jorge 194 Sabotage E Instituto 195 Stereo Maracana 196 Cake 197 Aisha Duo 198 Habib Koité and Bamada 199 Karsh Kale 200 The Posies 201 Luciana Souza/Romero Lubambo 202 Aaron Goldberg 203 Nicolaus Esterhazy Sinfonia 204 Temple of the Dog 205 Chris Cornell 206 Alberto Turco & Nova Schola Gregoriana 207 Richard Marlow & The Choir of Trinity College, Cambridge 208 English Concert & Trevor Pinnock 209 Anne-Sophie Mutter, Herbert Von Karajan & Wiener Philharmoniker 210 Hilary Hahn, Jeffrey Kahane, Los Angeles Chamber Orchestra & Margaret Batjer 211 Wilhelm Kempff 212 Yo-Yo Ma 213 Scholars Baroque Ensemble 214 Academy of St. Martin in the Fields & Sir Neville Marriner 215 Academy of St. Martin in the Fields Chamber Ensemble & Sir Neville Marriner 216 Berliner Philharmoniker, Claudio Abbado & Sabine Meyer 217 Royal Philharmonic Orchestra & Sir Thomas Beecham 218 Orchestre Révolutionnaire et Romantique & John Eliot Gardiner 219 Britten Sinfonia, Ivor Bolton & Lesley Garrett 220 Chicago Symphony Chorus, Chicago Symphony Orchestra & Sir Georg Solti 221 Sir Georg Solti & Wiener Philharmoniker 222 Academy of St. Martin in the Fields, John Birch, Sir Neville Marriner & Sylvia McNair 223 London Symphony Orchestra & Sir Charles Mackerras 224 Barry Wordsworth & BBC Concert Orchestra 225 Herbert Von Karajan, Mirella Freni & Wiener Philharmoniker 226 Eugene Ormandy 227 Luciano Pavarotti 228 Leonard Bernstein & New York Philharmonic 229 Boston Symphony Orchestra & Seiji Ozawa 230 Aaron Copland & London Symphony Orchestra 231 Ton Koopman 232 Sergei Prokofiev & Yuri Temirkanov 233 Chicago Symphony Orchestra & Fritz Reiner 234 Orchestra of The Age of Enlightenment 235 Emanuel Ax, Eugene Ormandy & Philadelphia Orchestra 236 James Levine 237 Berliner Philharmoniker & Hans Rosbaud 238 Maurizio Pollini 239 Academy of St. Martin in the Fields, Sir Neville Marriner & William Bennett 240 Gustav Mahler 241 Felix Schmidt, London Symphony Orchestra & Rafael Frühbeck de Burgos 242 Edo de Waart & San Francisco Symphony 243 Antal Doráti & London Symphony Orchestra 244 Choir Of Westminster Abbey & Simon Preston 245 Michael Tilson Thomas & San Francisco Symphony 246 Chor der Wiener Staatsoper, Herbert Von Karajan & Wiener Philharmoniker 247 The King's Singers 248 Berliner Philharmoniker & Herbert Von Karajan 249 Sir Georg Solti, Sumi Jo & Wiener Philharmoniker 250 Christopher O'Riley 251 Fretwork 252 Amy Winehouse 253 Calexico 254 Otto Klemperer & Philharmonia Orchestra 255 Yehudi Menuhin 256 Philharmonia Orchestra & Sir Neville Marriner 257 Academy of St. Martin in the Fields, Sir Neville Marriner & Thurston Dart 258 Les Arts Florissants & William Christie 259 The 12 Cellists of The Berlin Philharmonic 260 Adrian Leaper & Doreen de Feis 261 Roger Norrington, London Classical Players 262 Charles Dutoit & L'Orchestre Symphonique de Montréal 263 Equale Brass Ensemble, John Eliot Gardiner & Munich Monteverdi Orchestra and Choir 264 Kent Nagano and Orchestre de l'Opéra de Lyon 265 Julian Bream 266 Martin Roscoe 267 Göteborgs Symfoniker & Neeme Järvi 268 Itzhak Perlman 269 Michele Campanella 270 Gerald Moore 271 Mela Tenenbaum, Pro Musica Prague & Richard Kapp 272 Emerson String Quartet 273 C. Monteverdi, Nigel Rogers - Chiaroscuro; London Baroque; London Cornett & Sackbu 274 Nash Ensemble 275 Philip Glass Ensemble </div> </div> <div id='task9761' class='task_block'> <div class='task_id'>9761</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит идентификатор трека(TrackId). Нужно вывести информацию о треке: Название (Name), композитор (Composer), длительность (Milliseconds), цену (UnitPrice). Также определите по AlbumId название(title) альбома(album), в который входит этот трек. Определите по GenreId название (name) жанра (genres). </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (TrackId)</th><th>Результат</th></tr> <tr><td>1</td><td>91</td><td class='preformatted'>Название: Shadow on the Sun Композитор: Audioslave/Chris Cornell Длительность: 343457 Цена: 0.99 Альбом: Audioslave Жанр: Rock </td></tr> <tr><td>2</td><td>144</td><td class='preformatted'>Название: Heart Of Gold Композитор: null Длительность: 194873 Цена: 0.99 Альбом: Alcohol Fueled Brewtality Live! [Disc 2] Жанр: Metal </td></tr> <tr><td>3</td><td>3</td><td class='preformatted'>Название: Fast As a Shark Композитор: F. Baltes, S. Kaufman, U. Dirkscneider & W. Hoffman Длительность: 230619 Цена: 0.99 Альбом: Restless and Wild Жанр: Rock </td></tr> <tr><td>4</td><td>5</td><td class='preformatted'>Название: Princess of the Dawn Композитор: Deaffy & R.A. Smith-Diesel Длительность: 375418 Цена: 0.99 Альбом: Restless and Wild Жанр: Rock </td></tr> </table> </div> <div class='task_desc'> Эту задачу можно решить через JOIN или через отправку нескольких запросов. </div> <div id='task4274' class='task_block'> <div class='task_id'>4274</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит идентификатор альбома(AlbumId). Напечатать на экран название(Title) альбома(Albums), а также названия (Name) треков (Tracks) из этого альбома и их длительность (Milliseconds). </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (AlbumId)</th><th>Результат</th></tr> <tr><td>1</td><td>10</td><td class='preformatted'>Альбом: Audioslave Cochise 222380 Show Me How to Live 277890 Gasoline 279457 What You Are 249391 Like a Stone 294034 Set It Off 263262 Shadow on the Sun 343457 I am the Highway 334942 Exploder 206053 Hypnotize 206628 Bring'em Back Alive 329534 Light My Way 303595 Getaway Car 299598 The Last Remaining Light 317492 </td></tr> <tr><td>2</td><td>15</td><td class='preformatted'>Альбом: Alcohol Fueled Brewtality Live! [Disc 2] Heart Of Gold 194873 Snowblind 420022 Like A Bird 276532 Blood In The Wall 284368 The Beginning...At Last 271960 </td></tr> <tr><td>3</td><td>413</td><td class='preformatted'></td></tr> <tr><td>4</td><td>3</td><td class='preformatted'>Альбом: Restless and Wild Fast As a Shark 230619 Restless and Wild 252051 Princess of the Dawn 375418 </td></tr> </table> </div> <div id='task6805' class='task_block'> <div class='task_id'>6805</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит текст. Нужно найти идентификаторы(albumId,trackId) и полные названия(title,name) треков(tracks) и альбомов(albums), у которых в названии(title,name) присутствует введенный текст. Нужно выполнить конкатенацию символа "%", текста от пользователя и еще одного символа "%". Полученное значение нужно передать как параметр запроса. </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (search)</th><th>Результат</th></tr> <tr><td>1</td><td>sym</td><td class='preformatted'>Треки: 3276 Sympton of the Universe 3359 Symphony No. 3 in E-flat major, Op. 55, "Eroica" - Scherzo: Allegro Vivace 3414 Symphony No. 104 in D Major "London": IV. Finale: Spiritoso 3415 Symphony No.5 in C Minor: I. Allegro con brio 3431 Symphony No.1 in D Major, Op.25 "Classical", Allegro Con Brio 3442 Wellington's Victory or the Battle Symphony, Op.91: 2. Symphony of Triumph 3446 Symphonie Fantastique, Op. 14: V. Songe d'une nuit du sabbat 3454 Symphony No. 41 in C Major, K. 551, "Jupiter": IV. Molto allegro 3485 Symphony No. 3 Op. 36 for Orchestra and Soprano "Symfonia Piesni Zalosnych" \ Lento E Largo - Tranquillissimo 3486 Act IV, Symphony 3489 Symphony No. 2: III. Allegro vivace 3494 Symphony No. 2, Op. 16 - "The Four Temperaments": II. Allegro Comodo e Flemmatico Альбомы: 283 Haydn: Symphonies 99 - 104 284 Beethoven: Symhonies Nos. 5 & 6 298 Prokofiev: Symphony No.1 312 Berlioz: Symphonie Fantastique 320 Mozart: Symphonies Nos. 40 & 41 324 Beethoven: Symphony No. 6 'Pastoral' Etc. 330 Górecki: Symphony No. 3 336 Prokofiev: Symphony No.5 & Stravinksy: Le Sacre Du Printemps 338 Nielsen: The Six Symphonies </td></tr> <tr><td>2</td><td>space</td><td class='preformatted'>Треки: 620 Space Truckin' 778 Space Trucking 785 Space Truckin' 1028 Enough Space 1465 Space Cowboy 3110 Headspace 3239 Fire In Space Альбомы: 118 The Return Of The Space Cowboy </td></tr> <tr><td>3</td><td>beat</td><td class='preformatted'>Треки: 3024 Two Hearts Beat As One Альбомы: 12 BackBeat Soundtrack </td></tr> <tr><td>4</td><td>story</td><td class='preformatted'>Треки: 1455 Just Another Story 2819 Battlestar Galactica: The Story So Far Альбомы: 226 Battlestar Galactica: The Story So Far </td></tr> </table> </div> <div id='task7845' class='task_block'> <div class='task_id'>7845</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит идентификатор исполнителя (artistId), нужно вывести список названий(name) треков(tracks) этого исполнителя. Связь треков и исполнителей определить по таблице альбомов. </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (artistId)</th><th>Результат</th></tr> <tr><td>1</td><td>1</td><td class='preformatted'>Идентификаторы альбомов исполнителя: 1 4 Треки исполнителя: For Those About To Rock (We Salute You) Put The Finger On You Let's Get It Up Inject The Venom Snowballed Evil Walks C.O.D. Breaking The Rules Night Of The Long Knives Spellbound Go Down Dog Eat Dog Let There Be Rock Bad Boy Boogie Problem Child Overdose Hell Ain't A Bad Place To Be Whole Lotta Rosie </td></tr> <tr><td>2</td><td>59</td><td class='preformatted'>Идентификаторы альбомов исполнителя: 46 197 198 Треки исполнителя: (Da Le) Yaleo Love Of My Life Put Your Lights On Africa Bamba Smooth Do You Like The Way Maria Maria Migra Corazon Espinado Wishing It Was El Farol Primavera The Calling Jingo El Corazon Manda La Puesta Del Sol Persuasion As The Years Go by Soul Sacrifice Fried Neckbones And Home Fries Santana Jam Evil Ways We've Got To Get Together/Jingo Rock Me Just Ain't Good Enough Funky Piano The Way You Do To Mer </td></tr> <tr><td>3</td><td>152</td><td class='preformatted'>Идентификаторы альбомов исполнителя: 242 243 244 245 Треки исполнителя: Where Have All The Good Times Gone? Hang 'Em High Cathedral Secrets Intruder (Oh) Pretty Woman Dancing In The Street Little Guitars (Intro) Little Guitars Big Bad Bill (Is Sweet William Now) The Full Bug Happy Trails Eruption Ain't Talkin' 'bout Love Runnin' With The Devil Dance the Night Away And the Cradle Will Rock... Unchained Jump Panama Why Can't This Be Love Dreams When It's Love Poundcake Right Now Can't Stop Loving You Humans Being Can't Get This Stuff No More Me Wise Magic Runnin' With The Devil Eruption You Really Got Me Ain't Talkin' 'Bout Love I'm The One Jamie's Cryin' Atomic Punk Feel Your Love Tonight Little Dreamer Ice Cream Man On Fire Neworld Without You One I Want From Afar Dirty Water Dog Once Fire in the Hole Josephina Year to the Day Primary Ballot or the Bullet How Many Say I </td></tr> </table> </div> <div class='task_desc'> Задачу можно решить двумя способами: множеством запросов в цикле, а также с помощью where in </div> <div id='task9857' class='task_block'> <div class='task_id'>9857</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит идентификатор плейлиста(playlistId). Вывести длительность(milliseconds) и названия(name) всех треков(tracks), которые находятся в этом плейлисте. Связь определить по таблице playlist_track. В конце вывести суммарную длительность плейлиста. </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (playlistId)</th><th>Результат</th></tr> <tr><td>1</td><td>16</td><td class='preformatted'>идентификаторы треков плейлиста: 52 2003 2004 2005 2007 2010 2013 2194 2195 2198 2206 2512 2516 2550 3367 286641 Man In The Box 301296 Smells Like Teen Spirit 254928 In Bloom 219219 Come As You Are 256992 Lithium 223973 Drain You 196440 On A Plain 293720 Evenflow 341080 Alive 318981 Jeremy 235598 Daughter 312476 Outshined 320365 Black Hole Sun 314017 Plush 246292 Hunger Strike Суммарная длительность треков плейлиста 4122018 </td></tr> <tr><td>2</td><td>13</td><td class='preformatted'>идентификаторы треков плейлиста: 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 339567 Prometheus Overture, Op. 43 299350 Sonata for Solo Violin: IV: Presto 387826 A Midsummer Night's Dream, Op.61 Incidental Music: No.7 Notturno 225933 Suite No. 3 in D, BWV 1068: III. Gavotte I & II 110266 Concert pour 4 Parties de V**les, H. 545: I. Prelude 289388 Adios nonino 567494 Symphony No. 3 Op. 36 for Orchestra and Soprano "Symfonia Piesni Zalosnych" \ Lento E Largo - Tranquillissimo 364296 Act IV, Symphony 385506 3 Gymnopédies: No.1 - Lent Et Grave, No.3 - Lent Et Douloureux 142081 Music for the Funeral of Queen Mary: VI. "Thou Knowest, Lord, the Secrets of Our Hearts" 376510 Symphony No. 2: III. Allegro vivace 285673 Partita in E Major, BWV 1006A: I. Prelude 234746 Le Sacre Du Printemps: I.iv. Spring Rounds 133768 Sing Joyfully 333669 Metopes, Op. 29: Calypso 286998 Symphony No. 2, Op. 16 - "The Four Temperaments": II. Allegro Comodo e Flemmatico 265541 24 Caprices, Op. 1, No. 24, for Solo Violin, in A Minor 51780 Étude 1, In C Major - Preludio (Presto) - Liszt 261849 Erlkonig, D.328 493573 Concerto for Violin, Strings and Continuo in G Major, Op. 3, No. 9: I. Allegro 286741 Pini Di Roma (Pinien Von Rom) \ I Pini Della Via Appia 139200 String Quartet No. 12 in C Minor, D. 703 "Quartettsatz": II. Andante - Allegro assai 66639 L'orfeo, Act 3, Sinfonia (Orchestra) 221331 Quintet for Horn, Violin, 2 Violas, and Cello in E Flat Major, K. 407/386c: III. Allegro 206005 Koyaanisqatsi Суммарная длительность треков плейлиста 6755730 </td></tr> </table> </div> <div id='task6421' class='task_block'> <div class='task_id'>6421</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит идентификатор трека (trackId). Вывести список плейлистов, в которые этот трек НЕ входит. </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (trackId)</th><th>Результат</th></tr> <tr><td>1</td><td>3403</td><td class='preformatted'>Трек 3403 отсутствует в плейлистах: Movies TV Shows Audiobooks Audiobooks Movies Music Videos TV Shows Brazilian Music Classical 101 - Deep Cuts Classical 101 - Next Steps Grunge Heavy Metal Classic On-The-Go 1 </td></tr> <tr><td>2</td><td>3</td><td class='preformatted'>Трек 3 отсутствует в плейлистах: Movies TV Shows Audiobooks Audiobooks Movies Music Videos TV Shows Brazilian Music Classical Classical 101 - Deep Cuts Classical 101 - Next Steps Classical 101 - The Basics Grunge On-The-Go 1 </td></tr> <tr><td>3</td><td>597</td><td class='preformatted'>Трек 597 отсутствует в плейлистах: Movies TV Shows Audiobooks 90’s Music Audiobooks Movies Music Videos TV Shows Brazilian Music Classical Classical 101 - Deep Cuts Classical 101 - Next Steps Classical 101 - The Basics Grunge Heavy Metal Classic </td></tr> <tr><td>4</td><td>3429</td><td class='preformatted'>Трек 3429 отсутствует в плейлистах: Music Movies Audiobooks 90’s Music Audiobooks Movies Music Music Videos Brazilian Music Classical Classical 101 - Deep Cuts Classical 101 - Next Steps Classical 101 - The Basics Grunge Heavy Metal Classic On-The-Go 1 </td></tr> </table> </div> <div id='task9479' class='task_block'> <div class='task_id'>9479</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит идентификатор клиента (customerId). Нужно вывести на экран, сколько времени проходило между датами его чеков. </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (customerId)</th><th>Результат</th></tr> <tr><td>1</td><td>59</td><td class='preformatted'>Разница между 2009-04-05 и 2009-07-08 равна 8121600000 миллисекунд (2256 часов) Разница между 2009-07-08 и 2010-02-26 равна 20131200000 миллисекунд (5592 часов) Разница между 2010-02-26 и 2011-08-20 равна 46656000000 миллисекунд (12960 часов) Разница между 2011-08-20 и 2011-09-30 равна 3542400000 миллисекунд (984 часов) Разница между 2011-09-30 и 2012-05-30 равна 20995200000 миллисекунд (5832 часов) </td></tr> <tr><td>2</td><td>27</td><td class='preformatted'>Разница между 2009-06-10 и 2011-01-15 равна 50457600000 миллисекунд (14016 часов) Разница между 2011-01-15 и 2011-04-19 равна 8121600000 миллисекунд (2256 часов) Разница между 2011-04-19 и 2011-07-22 равна 8121600000 миллисекунд (2256 часов) Разница между 2011-07-22 и 2012-03-11 равна 20131200000 миллисекунд (5592 часов) Разница между 2012-03-11 и 2013-09-02 равна 46656000000 миллисекунд (12960 часов) Разница между 2013-09-02 и 2013-10-13 равна 3542400000 миллисекунд (984 часов) </td></tr> <tr><td>3</td><td>2</td><td class='preformatted'>Разница между 2009-01-01 и 2009-02-11 равна 3542400000 миллисекунд (984 часов) Разница между 2009-02-11 и 2009-10-12 равна 20995200000 миллисекунд (5832 часов) Разница между 2009-10-12 и 2011-05-19 равна 50457600000 миллисекунд (14016 часов) Разница между 2011-05-19 и 2011-08-21 равна 8121600000 миллисекунд (2256 часов) Разница между 2011-08-21 и 2011-11-23 равна 8121600000 миллисекунд (2256 часов) Разница между 2011-11-23 и 2012-07-13 равна 20131200000 миллисекунд (5592 часов) </td></tr> </table> </div> Версия 20240202. Подборка задач, выбор порядка подачи и подготовка тестовых данных - Крюков Александр, Омск 2013-2026. <a href='https://github.com/AKryukov92/programming-basics'>Основной репозиторий</a></body></html>