18th Jul 2022 Tempo di lettura: 8 minuti Pratica SQL completa per i colloqui Marek Pankowski come fare in sql Mercato del lavoro SQL lavori e carriera carriera in campo data science domande per un colloquio su sql Indice Domande di base sulla lavagna SQL per i colloqui di lavoro Esercizi pratici di SQL per il colloquio Esercizio SQL 1 - Scrivere un'istruzione Esercizio SQL 2 - Scrivere un'istruzione Esercizio SQL 3 - Trova l'errore Esercizio SQL 4 - Trova il risultato Esercizio SQL 5 - Scrivere una query Esercizio SQL 6 - Scrivere una query su una data Esercizio SQL 7 - Scrivere una query Esercizio SQL 8 - Trovare ed eliminare i duplicati Esercizio SQL 9 - Scrivere una query complessa Esercizio SQL 10 - Scrivere una query complessa Advanced SQL Domande alla lavagna Congratulazioni! Le vostre competenze in SQL sono state abbastanza forti da farvi ottenere quel colloquio di lavoro! Ora, se solo sapeste quali sono le domande SQL e gli esercizi pratici che un selezionatore potrebbe chiedervi di fare... Questo articolo è inteso come una pratica di SQL per i colloqui. Vi aiuterò a preparare gli aspetti SQL e di database del vostro colloquio di lavoro. In un articolo precedente, ho spiegato come si può dare un impulso alla propria carriera imparando l'SQL. Questo linguaggio di interrogazione viene utilizzato praticamente ovunque. Supponiamo che abbiate finalmente deciso di utilizzare le vostre competenze in SQL in un nuovo lavoro. Prima di iniziare, però, dovete superare il colloquio di lavoro. Il vostro intervistatore potrebbe utilizzare diversi tipi di domande SQL alla lavagna: a volte vi verrà chiesto di descrivere le differenze tra due elementi; a volte dovrete dire il risultato di una query specifica; potreste anche dover scrivere del semplice codice. Sembra stressante, ma non preoccupatevi troppo. Il modo migliore per prepararsi a un colloquio è fare molta pratica. Vi consiglio la SQL Practice su LearnSQL.it. Contiene oltre 600 esercizi interattivi di SQL per aiutarvi a ripassare ed esercitarvi con SQL prima di un colloquio. In questo articolo vi aiuterò a prepararvi per il colloquio, esaminando alcune domande comuni ed esercizi SQL che i selezionatori utilizzano durante il processo di intervista. Domande di base sulla lavagna SQL per i colloqui di lavoro Innanzitutto, concentriamoci sull'aspetto più teorico dell'SQL. Per valutare la vostra comprensione, il selezionatore vi chiederà probabilmente di spiegare verbalmente alcune domande più semplici. Di solito si tratta di domande sulle parti elementari dell'SQL. Ad esempio, potrebbe esservi chiesto di rispondere ad alcune delle seguenti domande SQL alla lavagna: Enumerate e spiegate tutti gli elementi di base di una query SQL. Che cos'è la clausola WHERE? Cosa fanno gli operatori LIKE e NOT LIKE? Spiegate l'uso delle clausole AND, OR e NOT. Che cos'è un valore NULL? Che cosa fa un JOIN? Quali sono i diversi tipi di clausole JOIN? Spiegare la clausola GROUP BY. Qual è la differenza tra le clausole WHERE e HAVING? Cosa fa ORDER BY? Cosa fa UNION? Qual è la differenza tra UNION e UNION ALL? Cosa fanno le clausole INTERSECT e MINUS? Qual è il ruolo della parola chiave DISTINCT? Spiegate l'uso degli alias nelle query. Potete rispondere a tutte le domande del mio esercizio di SQL per i colloqui? Anche le domande di base richiedono una buona preparazione e molta pratica. Nessuno è perfetto e a volte è necessario rinfrescare le proprie conoscenze. I nostri corsi online possono aiutarvi a rispolverare qualsiasi abilità semi-dimenticata. Esercizi pratici di SQL per il colloquio I colloqui di lavoro tecnici hanno spesso un aspetto pratico. Oltre a rispondere alle tipiche domande della lavagna SQL, vi verrà chiesto di scrivere un'istruzione SQL, di verificare la presenza di errori in una query o di determinare il risultato di una determinata query. Di seguito, ho copiato dieci esercizi SQL del tipo che potreste fare in un colloquio di lavoro tecnico. Sono ordinati da facili a difficili. Esercizio SQL 1 - Scrivere un'istruzione Scrivete un'istruzione SQL che elenchi i nomi delle scuole, degli studenti e le loro città solo se la scuola e lo studente si trovano nella stessa città e se lo studente non è di New York. Table: school school_id school_name city ----------- ------------------ ---------- 1 Stanford Stanford 2 University of Cali San Francisco 3 Harvard University New York 4 MIT Boston 5 Yale New Haven Table: student student_id student_name city school_id ----------- ------------ ---------- ----------- 1001 Peter Brebec New York 1 1002 John Goorgy San Francisco 2 2003 Brad Smith New York 3 1004 Fabian Johns Boston 5 1005 Brad Cameron Stanford 1 1006 Geoff Firby Boston 5 1007 Johnny Blue New Haven 2 1008 Johse Brook Miami 2 Esercizio SQL 2 - Scrivere un'istruzione Scrivete un'istruzione SQL che elenchi i nomi degli studenti, i nomi delle materie, i docenti delle materie e l'ammontare massimo dei punti per tutte le materie , eccetto Informatica e tutte le materie con un punteggio massimo compreso tra 100 e 200. Table: subject subject_id subject_name max_score lecturer ---------- ---------- ---------- ----------- 11 Math 130 Christena Solem 12 Computer Science 150 Jaime Pille 13 Biology 300 Carrol Denmark 14 Geography 220 Yuette Galang 15 Physics 110 Colton Rather 16 Chemistry 400 Nan Mongeau Table: student student_id student_name city subject_id ----------- ------------ ---------- ----------- 2001 Thurman Thorn New York 11 2002 Sharda Clemens San Francisco 12 2003 Buck Elkins New York 13 2004 Fabian Johns Boston 15 2005 Brad Cameron Stanford 11 2006 Sofia Roles Boston 16 2007 Rory Pietila New Haven 12 Esercizio SQL 3 - Trova l'errore Cosa c'è di sbagliato in questa query SQL? SELECT Id, name, YEAR(BillingDate) AS Year FROM Records WHERE Year >= 2010 SELECT id, name FROM students WHERE grades = (SELECT MAX(grades) FROM students GROUP BY subject_id;); Esercizio SQL 4 - Trova il risultato Date le seguenti tabelle ... Table: worker id name --- ----------- 1 Guillermo Sparks 2 Gene Roberts 3 Ally Jones 4 Bryant Summers 5 Candice Green Table: departments id name manager_id --- ------------- --------- 1 Financial 3 2 Strategy 5 3 IT 1 4 Marketing NULL ... Quale sarà il risultato della seguente query? SELECT name FROM worker WHERE id NOT IN (SELECT manager_id FROM departments) Esercizio SQL 5 - Scrivere una query La tabella EMPLOYEE ha i seguenti attributi: NAME, DEPT_ID, e SALARY. Scrivete una query che mostri lo stipendio più alto in ogni reparto. Esercizio SQL 6 - Scrivere una query su una data Scrivete una query SQL che visualizzi la data corrente. Esercizio SQL 7 - Scrivere una query Scrivere una query SQL che verifichi se una data (1/04/12) passata alla query è in un determinato formato (MM/AA/GG). Esercizio SQL 8 - Trovare ed eliminare i duplicati Scrivere una query SQL per trovare righe duplicate in due tabelle (EMPLOYEE e WORKERS), quindi scrivere una query per eliminare i duplicati. Esercizio SQL 9 - Scrivere una query complessa Scrivere una query che elenchi i nomi degli argomenti dei corsi e il numero di studenti che frequentano il corso solo se il corso ha tre o più studenti iscritti. Table: subject subject_id subject_name max_score lecturer ---------- ---------- ---------- ----------- 11 Math 130 Christena Solem 12 Computer Science 50 Jaime Pille 13 Biology 300 Carrol Denmark 14 Geography 220 Yuette Galang 15 Physics 110 Colton Rather 16 Chemistry 400 Nan Mongeau Table: student student_id student_name city subject_id ----------- ------------ ---------- ----------- 2001 Thurman Thorn New York 11 2002 Sharda Clemens San Francisco 12 2003 Buck Elkins New York 13 2004 Fabian Johns Boston 15 2005 Brad Cameron Stanford 11 2006 Sofia Roles Boston 16 2007 Rory Pietila New Haven 12 2008 Cicely Weish Tulsa 14 2011 Richard Curtin Boston 11 2012 Kassy Ledger Stanford 11 2013 Henry Ledger Miami 13 2014 Darius Fidzberg San Francisco 12 2015 Darcey Fiorillo Chicago 14 Esercizio SQL 10 - Scrivere una query complessa Scrivere una query che visualizzi l'età media dei lavoratori di ogni azienda. Il risultato deve mostrare il nome dell'azienda e l'età del lavoratore più giovane dell'azienda. Table: company ID NAME ------ ------------- 1 Amazon 2 Samsung 3 LG 4 Kia 5 Lenovo Table: workers ID NAME AGE COMPANY_ID ------- ------------------------- ---------- ------------- 1 Derick Davison 20 5 2 Bari Becnel 50 1 3 Maddie Mueller 33 2 4 Eva Emrich 23 1 5 Katelyn Kunze 55 3 6 Hue Hover 26 2 7 Lucas Lout 57 4 8 Granville Grande 30 5 9 Robt Rude 39 3 10 Lisha Lewin 25 4 11 Aron Atlas 52 3 12 Chester Coddington 44 4 13 Diedre Dominy 31 1 14 Evie Edgell 35 2 15 Judy Johanson 36 5 Advanced SQL Domande alla lavagna Ok, abbiamo già fatto un po' di pratica con l'SQL per i colloqui, ma i nostri esercizi riguardavano le basi dell'SQL. Ma che dire di un lavoro più avanzato, come sviluppatore SQL o amministratore di database? I reclutatori saranno interessati a qualcosa di più della vostra conoscenza di SQL; dovranno anche sapere quanto siete abili con i database in generale. In questo caso, verificate quanto siete in grado di rispondere verbalmente a domande SQL alla lavagna come queste: Cosa sono le chiavi primarie e le chiavi esterne? Cos'è la normalizzazione? Cos'è la denormalizzazione? Che cos'è un indice? Siete in grado di spiegare brevemente i diversi tipi di indice? Potete spiegare le relazioni di database e i tipi di relazione? Che cos'è un cursore di database? Che cos'è un vincolo? Che cos'è una transazione di database? Un blocco di database? Come si usa la funzione NULLIF? Qual è lo scopo della funzione NVL? Qual è la differenza tra le funzioni RANK() e DENSE_RANK()? Qual è la differenza tra i tipi di dati VARCHAR2 e CHAR? Anche se si conoscono le risposte a queste domande, è bene esercitarsi. Potreste anche esercitarvi a rispondere ad alta voce! Come vedete, le domande e gli esercizi della lavagna SQL non sono così spaventosi come si pensa. Naturalmente, non è nemmeno un gioco da ragazzi. Abbiamo illustrato alcuni metodi comuni di valutazione delle competenze, ma molto dipende dall'immaginazione e dall'esperienza dell'intervistatore. La cosa più importante è dimostrare al selezionatore che avete capito come funziona l'SQL e che potete, se necessario, trovare aiuto su Internet. Se non avete un colloquio all'orizzonte, è il momento di affinare le vostre competenze in SQL. In ogni caso, spero che questo articolo vi abbia fornito una parte sostanziale della pratica dell'SQL per i colloqui e vi abbia aiutato a capire cosa aspettarvi e come prepararvi per un colloquio di lavoro legato all'SQL quando ne avrete uno! Tags: come fare in sql Mercato del lavoro SQL lavori e carriera carriera in campo data science domande per un colloquio su sql