Skip to content
  • Koszyk
bideveloper pl

bideveloper pl

Pomogę Ci zrozumieć Power BI

  • O mnie
  • Power BI od podstaw
  • Ścieżka nauki
  • Newsletter
  • Konsultacje
BI / Ścieżka nauki

Pytania rekrutacyjne z SQL

Cześć,

Bez zbędnych wstępów zapraszam na kontynuację wpisu Pytania rekrutacyjne z SQL. Jeżeli jesteś w tej sekcji pierwszy raz, koniecznie przeczytaj artykuł, który podlinkowałam, jako pierwszy.

W tym artykule znajdziecie pytania, które przeważnie padają na rozmowach kwalifikacyjnych na stanowiska takie jak BI Developer, Analityk danych, SQL developer etc.

Zapraszam.

Pytania rekrutacyjne – SQL

Jaka jest kolejność wykonywania zapytań w języku SQL?

Poniżej rozpisane jest standardowe zapytanie w SQL, numery oznaczają kolejność wykonywania przez silnik

(5) SELECT
(1) FROM (JOIN jeżeli jest)
(2) WHERE
(3) GROUP BY 
(4) HAVING
(6) ORDER BY

Pierwszą czynnością podczas wykonywania zapytania, jest określenie skąd (z jakiego obiektu) wybrać dane i jak je odfiltrować (FROM, a następnie WHERE). W ten sposób SQL wie jaki jest zakres danych, na których mogą być wykonane pozostałe operacje.

Określony zestaw danych może być następnie grupowany poprzez użycie GROUP BY (jeżeli chcesz użyć funkcji agregującej).
Kiedy do zgrupowanych danych użyta jest klauzula HAVING, dane zgrupowane zostaną odfiltrowane wg zawartego klucza w HAVING.

Następnie wszystkie wypisane w SELECT wyrażenia są obliczne.

Jeżeli została określona kolejność wierszy w klauzuli ORDER BY, wiersze zstaną posortowane wg wskazanych reguł.

Wiedza, o tym jak wykonywane są zapytania w języku SQL pozwoli na optymalne pisanie kwerend i szybsze otrzymanie rezultatów zapytania.


Co oznaczają skróty DML, DDL, DCL. Jakie wyrażenie wchodzą w ich skład?

Są to typy zapytań w języku SQL.

DML – Data Manipulation Language, wyrażenia INSERT, UPDATE, DELETE

DDL – Data Definition Language, wyrażenia CREATE, DROP, ALTER

DCL – Data Control Language, wyrażenia GRANT, REVOKE, DENY

Więcej informacji można przeczytać tutaj – https://pl.wikipedia.org/wiki/SQL


Jaka jest różnica pomiędzy widokiem a widokiem zmaterializowanym?

Podstawową różnicą jest to, że widok nie jest trzymany fizycznie na bazie danych. Widok zmaterializowany jest kopią danej tabeli i fizycznie jest trzymany na bazie.

Jest to kopia tabeli bazowej.

Więcej informacji o widokach zmaterializowanych można przeczytać tutaj – https://docs.microsoft.com/en-us/sql/t-sql/statements/create-materialized-view-as-select-transact-sql?view=azure-sqldw-latest


Co to jest Data Mart?

Jest to struktura na bazie danych, czasem tabela, która zawiera konkretne informacje potrzebne pod daną potrzebę raportową.  Jest to wycinek informacji z bazy danych.

Nazywany też tematyczną hurtownią danych.

Więcej informacji można znaleźć tutaj – https://en.wikipedia.org/wiki/Data_mart


Jakie znasz inne wyrażenia do operacji na zbiorach w SQL, oprócz UNION i UNION ALL?

Może to być np. EXCEPT czyli odejmowanie zbiorów, INTERSECT czyli część wspólna zbiorów.

Więcej o operacjach na zbiorach tutaj – https://www.sqlpedia.pl/operacje-na-zbiorach/


Jakie znasz rodzaje indeksów? Kiedy zakładamy indeksy na tabeli?

Indeksy to skruktury, które zakładamy na tabeli lub widoku, aby mieć szybszy dostęp do danych w tabeli. Pomagają one w odpytywaniu dużych tabel.
Te struktury zawierają klucze utworzone na podstawie co najmniej jednej kolumny danej tabeli lub widoku.
Podstawowe tyoy indeksów to: indeks klastrowany, ideks nieklastrowany, indeks kolumnowy (columnstore).

Więcej rodzaji indeksów z ich właściwościami znajdziesz tutaj – https://docs.microsoft.com/en-us/sql/relational-databases/indexes/indexes?view=sql-server-ver15


Czym są tabele tymczasowe?Jaka jest różnica pomiędzy tabelą tymczasową a zmienną tabelaryczną?

Tabele tymczasowe są tworzone na bazie i zachowują się jak standardowe tabele. Możemy na nich stosować wyrażenia DELETE, UPDATE, zakładać indeksy. Zmienne tabelaryczne tworzone są w pamięci i zachowują się jak zmienne. Działają w obrębie danego wywołania zapytania.

Więcej informacji znajdziesz tutaj – https://www.sqlshack.com/when-to-use-temporary-tables-vs-table-variables/


Opowiedz jak działa słowo kluczowe MERGE.

Pomaga ono w pisaniu skomplikowanych zapytań, gdzie jednocześnie chcemy zrobić DELETE, UPDATE, INSERT. Standardowe wykorzystanie wygląda następująco:

MERGE [AS TARGET]
USING [AS SOURCE]
ON
[WHEN MATCHED
THEN ]
[WHEN NOT MATCHED [BY TARGET]
THEN ]
[WHEN NOT MATCHED BY SOURCE
THEN ];

Tam, gdzie zostawiłam możemy wyspecyfikować INSERT, UPDATE, DELETE. Z rekordami, które się nie połączyły lub połączyły może wykonać dla nich dowolną operację.

Więcej w dokumentacji tutaj – https://docs.microsoft.com/en-us/sql/t-sql/statements/merge-transact-sql?view=sql-server-ver15


Jak działają funkcje okna OVER () ?

Dzięki użyciu funkcji z OVER() możemy wyniki zapytania podzielić na tzw. okna.  Utworzyć szeregi według zadanych parametrów w funkcji. Dodając do funkcji OVER (PARTITION BY ….) możemy podzielić wyniki zapytania na partycje według zadanych parametrów.


Dziękuję serdecznie, możesz masz w zanadrzu pytanie, które padło u Ciebie na rekrutacji i chciałbyś je omówić? Jeżeli tak to zostaw je w komentarzu 😉 Koniecznie 😀

Dagmara


Otrzymaj

Listę 7 kroków jak zamienić Twój raport w Excelu na raport w Power BI

Możesz w każdym momencie wypisać się z subskrypcji. Po więcej szczegółów sięgnij do Polityki prywatności. 

Dziękuję!

Dołączyłeś do społeczności bideveloper.pl Sprawdź skrzynkę mailową i potwierdź subskrypcje. Otrzymasz wtedy darmowego ebooka.

.

Zobacz wpisy

Pytania rekrutacyjne z SQL początkujących
Pytania rekrutacyjne z DAX i Power BI – początkujący

1 thought on “Pytania rekrutacyjne z SQL”

  1. Pingback: Pytania rekrutacyjne z SQL początkujących - bideveloper pl

Dodaj komentarz Anuluj pisanie odpowiedzi

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Otrzymaj Listę 7 kroków jak zamienić Twój raport w Excelu na raport w Power BI

Dołącz do mnie !

Dołącz do mnie na FacebookDołącz do mnie na Instagram

Polityka prywatności

Copyright © 2021 bideveloper pl | powered by XBlog Plus WordPress Theme

Ta strona używa plików cookie w celu usprawnienia i ułatwienia dostępu do serwisu oraz prowadzenia danych statystycznych. Dalsze korzystanie z tej witryny oznacza akceptację tego stanu rzeczy. Ustawienia cookieZAAKCEPTUJ
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary Always Enabled

Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.

Non-necessary

Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.