Mysql
 sql >> Baza danych >  >> RDS >> Mysql

50 najważniejszych pytań do rozmowy kwalifikacyjnej MySQL, które musisz przygotować w 2022 r.

Pytania do rozmowy kwalifikacyjnej MySQL:

W dobie 2,5 kwintyliona bajtów danych generowanych każdego dnia, dane odgrywają kluczową rolę w podejmowaniu decyzji dotyczących operacji biznesowych. To dość typowo zmusza nas do obsługi danych w bazach danych i daje nam potrzebę korzystania z systemów zarządzania bazami danych. Dzięki różnym rodzajom systemów zarządzania bazami danych (DBMS) obecnych na rynku, system zarządzania relacyjną bazą danych (RDBMS) jest jednym z najpopularniejszych dostępnych systemów. Ten typ DBMS wykorzystuje strukturę, która pozwala użytkownikom identyfikować i uzyskiwać dostęp do danych powiązanych do innego fragmentu danych w bazie danych, a MySQL jest jednym z takich popularnych RDBMS. Cóż, wiedza o MYSQL otwiera ci drzwi do zostania administratorem bazy danych. Wierzę, że jesteś już świadomy tych faktów i to sprawiło, że trafiłeś na ten artykuł z pytaniami do wywiadu MySQL.

W tym artykule na temat pytań do wywiadów dotyczących MySQL omówię najczęściej zadawane pytania dotyczące MySQL podczas wywiadów. Pytania te zbierane są po konsultacjach z osobami posiadającymi doskonałe umiejętności w tej dziedzinie. Dla lepszego zrozumienia podzieliłem artykuł na następujące sekcje:

  1. Pytania do rozmowy kwalifikacyjnej MySQL DBA
  2. Pytania do wywiadu PHP MySQL
  3. Złożone pytania do rozmowy kwalifikacyjnej MySQL
  4. Podchwytliwe pytania do wywiadu na temat MySQL

Więc zacznijmy, chłopaki.

Pytania do rozmowy kwalifikacyjnej MySQL DBA

P1. Czy możesz odróżnić Mysql_connect od Mysql_pconnect?

Mysql_connect Służy do otwierania nowego połączenia z bazą danych.
Możesz otwierać i zamykać połączenie z bazą danych na podstawie żądania.
Otwiera stronę za każdym razem, gdy strona jest ładowana.
Mysql_connect kontra Mysql_pconnect
Mysql_pconnect Służy do otwierania stałego połączenia w bazie danych.
Nie można zamknąć połączenia z bazą danych.
Nie ma potrzeby otwierania i zamykania połączenia za każdym razem, gdy strona jest ładowana.

P2. Jaki jest domyślny port serwera MySQL?

Domyślny port MySQL Server to 3306 . Poza tym innym standardowym domyślnym portem dla serwera SQL w TCP/IP jest 1433 .

Q3. Czy możesz powiedzieć, jakie są różne operacje na zestawach dostępne w MySQL?

Różne operacje na zestawach dostępne w MySQL są następujące:

  • UNION – Ta operacja zwraca wszystkie różne wiersze wybrane przez zapytanie
  • UNION ALL – Ta operacja zwraca wszystkie wiersze wybrane przez zapytanie, a także obejmuje wszystkie zduplikowane wiersze.
  • MINUS – Ta operacja zwraca wszystkie odrębne wiersze wybrane przez pierwsze zapytanie, ale nie wybiera wierszy wybranych przez drugie zapytanie.
  • PRZECIĘCIE – Ta operacja zwraca wszystkie różne wiersze wybrane przez oba zapytania.

Zobacz poniższy obrazek:

P4. Czy możesz określić kolejność instrukcji SQL SELECT?

Kolejność instrukcji SQL SELECT jest następująca:

SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY.

P5. Co to jest testowanie białej skrzynki bazy danych?

Testowanie bazy danych Whitebox zajmuje się tabelami, modelem danych, schematem i regułami integralności referencyjnej. Zajmuje się również wyzwalaczami, widokami logicznymi ze spójnością bazy danych i właściwościami ACID.

P6. Co to jest testowanie czarnej skrzynki bazy danych?

Testowanie bazy danych Black Box zajmuje się mapowaniem, przechowywaniem i pobieraniem danych. Testowanie czarnoskrzynkowe bazy danych jest używane w takich technikach, jak partycjonowanie równoważności i analiza wartości granicznych.

P7. Co to jest CTE?

Wyrażenie, które składa się z tymczasowego zestawu wyników zdefiniowanych w instrukcji SQL, jest określane jako Common Table Expression (CTE).

P8. Jakie są różne tabele obecne w Mysql?

W MySQL występuje głównie pięć typów tabel. Spośród wszystkich tych silników baz danych domyślnym silnikiem bazy danych używanym w MySQL jest MyISAM. Zapoznaj się z poniższymi informacjami, aby poznać pięć typów tabel:

  • MyISAM
  • Stos
  • Połącz
  • INNO DB
  • ISAM

P9. Co to jest Kursor?

Uważany za wskaźnik wskazujący jeden wiersz w zestawie wierszy, kursor jest niczym innym jak kontrolką, która umożliwia przechodzenie po rekordach w tabeli. Tak więc kursor służy do wykonywania czynności związanych z przechodzeniem, takich jak dodawanie, pobieranie i usuwanie rekordów w bazie danych.

P10. Jak możesz przetestować pod kątem wartości NULL w bazie danych?

Wartość NULL to pole bez wartości w tym konkretnym polu. Ponieważ wartości NULL nie można porównać z żadnymi innymi wartościami NULL, nie można używać operatorów porównania, takich jak =, . Aby porównać pola z wartościami NULL, musisz użyć operatora IS NULL i IS NOT NULL.

Patrz poniżej składnia IS NULL i IS NOT NULL.

SELECT column_names FROM table_name WHERE column_name IS NULL;
SELECT column_names FROM table_name WHERE column_name IS NOT NULL;

P11. Czy możesz rozwinąć BLOB i TEXT w MySQL?

BLOB

BLOB (Duży obiekt binarny) służy do przechowywania zmiennej ilości danych i przechowuje do 65 535 bajtów danych. Poniżej znajdują się cztery typy BLOB.

  • TINYBLOB
  • BLOB
  • ŚREDNIA BLOB
  • LONGBLOB

TEKST

TEKST służy do przechowywania wartości ciągów i zawiera maksymalnie 65 535 znaków. Oto cztery rodzaje TEKSTU

  • TINYTEXT
  • TEKST
  • ŚREDNI TEKST
  • DŁUGI TEKST

P12. Czy możesz powiedzieć, jak wyświetlić maksymalną pensję w SQL?

Aby wyświetlić maksymalną pensję w SQL, możesz użyć wbudowanej funkcji o nazwie MAX().

P13. Jaka jest różnica między funkcją NVL, funkcją IFNULL i funkcją ISNULL?

Funkcja NVL, funkcja IFNULL i funkcja ISNULL służą do zastąpienia wartości NULL inną wartością. Użytkownicy ORACLE używają funkcji NVL, użytkownicy MySQL używają funkcji IFNULL, a serwery SQL używają funkcji ISNULL

Załóżmy na przykład, że mamy kolumnę (column_3), która ma wartości NULL.

Tak więc, jeśli uruchomisz poniższą instrukcję, wynik, który otrzymasz, będzie wartością NULL.

SELECT column_1 * (column_2 + column_3) FROM Example_Table

Teraz, aby rozwiązać ten problem, możesz użyć powyższych trzech funkcji w następujący sposób:

SELECT column_1 * (column_2 + NVL(column_3,0)) FROM Example_Table
SELECT column_1 * (column_2 + IFNULL(column_3,0)) FROM Example_Table
SELECT column_1 * (column_2 + ISNULL(column_3,0)) FROM Example_Table

P14. Jaka jest różnica między testowaniem GUI a testowaniem bazy danych?

Testowanie GUI Testowanie bazy danych
Znane również jako testowanie interfejsu użytkownika w testowaniu interfejsu użytkownika. Znane również jako testowanie zaplecza lub testowanie danych.
Zajmuje się elementami, które wchodzą w interakcje z użytkownikami. Oferuje przedmioty, które są ukryte przed użytkownikami.
Testerzy nie muszą znać SQL. Testerzy muszą znać SQL.
Testowanie GUI koncentruje się na wyglądzie aplikacji Testowanie baz danych skupia się na integralności danych w interfejsie użytkownika z danymi znajdującymi się w zapleczu

P15. Jak wyświetlić N-tą najwyższą pensję z tabeli w zapytaniu Mysql?

Rozważ tabelę o nazwie „Pracownik”.

Teraz, aby znaleźć N-tą pensję, rozważ poniższe oświadczenie.

SELECT DISTINCT(salary) FROM employee ORDER BY salary DESC LIMIT n-1,1

Jeśli więc chcesz poznać siódmą najwyższą pensję, rozważ poniższe zapytanie.

SELECT DISTINCT(salary) FROM employee ORDER BY salary DESC LIMIT 6,1 

Teraz przejdźmy do następnego zestawu pytań, którym są pytania do rozmowy kwalifikacyjnej PHP MySQL.

Pytania do rozmowy kwalifikacyjnej na temat PHP MySQL

P1. Jakie polecenie służy do tworzenia bazy danych przy użyciu PHP i MySQL?

Polecenie użyte do utworzenia bazy danych przy użyciu zarówno PHP, jak i MySQL to mysql_create_db („Nazwa bazy danych”).

P2. Czy potrafisz odróżnić Mysql_fetch_object od Mysql_fetch_array?

Oba są podobne, ale różnią się jedną różnicą. Mysql_fetch_object zwraca jako obiekt, a Mysql_fetch_array zwraca tablicę. Oznacza to, że nie możesz uzyskać dostępu do danych poprzez ich przesunięcia, ale możesz uzyskać dostęp tylko poprzez nazwy pól.

P3:Jakie są sposoby pobierania danych z zestawu wyników MySQL przy użyciu PHP?

Różne sposoby pobierania danych w zestawie wyników MySQL przy użyciu PHP są następujące:

  • mysql_fetch_object:Ta stała pobiera wiersz wyników jako obiekt.
  • mysql_fetch_array:Ta stała pobiera wiersz wynikowy jako tablicę asocjacyjną, tablicę liczbową lub obie.
  • mysql_fetch_row:Ta stała daje nam wynikowy wiersz jako wyliczoną tablicę.
  • mysql_fetch_assoc:Ta stała daje nam wiersz wynikowy jako tablicę asocjacyjną.

P4. Czy możesz powiedzieć, ile wartości można ustawić w funkcji MySQL do rozważenia?

Funkcja Set MySQL może przyjąć maksymalnie 64 wartości, ale może również uwzględniać wartości 0.

P5. Czy możesz podać powody wyboru Lamp (Linux, Apache, MySQL, PHP) zamiast jakiejkolwiek innej kombinacji oprogramowania, serwerów i systemu operacyjnego?

Powód wyboru stosu lamp jest bardzo prosty. Linux, Apache, MySQL, PHP to oprogramowanie typu open source. Bezpieczeństwo systemu operacyjnego Linux to znacznie więcej niż Windows. Serwer Apache jest lepszy od innych pod względem funkcjonalności i bezpieczeństwa. MySQL to jedna z najpopularniejszych baz danych typu open source, używana z PHP do wykonywania różnych funkcji.

P6. Czy możesz wskazać sposób na poznanie liczby dni między dwiema podanymi datami w PHP?

Możesz po prostu zadeklarować dwie daty, a następnie użyć strtotime funkcja odejmowania obu dat i znajdowania różnic między dniami w sekundach.

Rozważ poniższy przykład.

data1 =’2018-09-15′;
data2 =„2018-10-15”;
dni =(strtotime($data1) – strtotime($data2)) / (60 * 60 * 24);

P7. Czy możesz powiedzieć, jak znaleźć liczbę wierszy w zestawie wyników za pomocą PHP?

Możesz użyć funkcji mysql_num_rows, aby znaleźć liczbę wierszy w zestawie wyników.

Rozważ poniższy przykład.

output = mysql_query(sql, database_name);
number_of_rows = mysql_num_rows(output);
echo "The number of forws found are equal to: $number_of_rows";

P8. Jakie funkcje służą do szyfrowania i odszyfrowywania danych obecnych w MySQL?

Funkcją używaną do szyfrowania danych jest AES_ENCRYPT() a funkcją używaną do odszyfrowania danych jest AES_DECRYPT() .

P9. Jeśli chcesz zaszyfrować nazwę użytkownika i hasło za pomocą PHP, jak to zrobisz?

Możesz zaszyfrować nazwę użytkownika i hasło, używając odpowiednio następujących funkcji:

SET USERNAME=USERNAME("Username");
SET PASSWORD=PASSWORD(”Password”);

P10. Jak możesz zwiększyć wydajność zapytania MySQL SELECT?

SELECT Instrukcja służy do wybierania danych z bazy danych, a zwrócone dane są przechowywane w tabeli wyników, zwanej zestawem wyników . Instrukcja SELECT może być używana indywidualnie lub może być używana z innymi instrukcjami, takimi jak ORDER BY , GRUPUJ WG i POSIADAJĄC klauzula.

Aby zwiększyć wydajność zapytania MySQL SELECT, możesz użyć klauzuli LIMIT, aby ograniczyć MySQL z dalszego wyszukiwania w tabeli, po zebraniu wymaganej liczby rekordów. Oprócz tego możemy również użyć LEFT JOIN lub RIGHT JOIN, aby pobrać dane z dwóch lub więcej tabel.

P11. Czy możesz odróżnić $message od $$message?

$message i $$message są zmiennymi PHP. $message służy do przechowywania danych zmiennych, a $$message służy do przechowywania zmiennej zmiennej. Zasadniczo dane są przechowywane w $message, a $$message służy do przechowywania danych, które można zmieniać dynamicznie.

P12. Napisz program, używając instrukcji SELECT, While Loop.

Możesz napisać program, aby wybrać dane uczniów z tabeli uczniów i użyć pętli, aby wydrukować nazwiska uczniów.

example_query = mysql_query("SELECT * FROM 'students' WHERE  'student_id' = '1';");
while(output = mysql_fetch_array(example_query))
{
echo output['Students_Name'];
}

P13. Jak wykonać kopię zapasową i przywrócić bazę danych MySQL za pomocą PHP?

MySQL jest dostarczany z narzędziem mysqldump, które zapewnia tworzenie kopii zapasowych i przywracanie bazy danych. Polecenia, których możesz użyć do tworzenia kopii zapasowych i przywracania, są odpowiednio następujące.

//To take the backup of database
mysqldump database > backup -file.sql;
//To restore the database
mysqldump database < backup -file.sql;

Możesz także użyć interfejsu użytkownika phpMyAdmin do wykonania kopii zapasowej bazy danych. Jeśli chcesz wykonać kopię zapasową, bazę danych wystarczy kliknąć „eksport ” link na głównej stronie phpMyAdmin.

P14. Czy potrafisz odróżnić ereg_replace() od eregi_replace()?

ereg_replace i eregi_repalce() to wyrażenia regularne używane do zastępowania pasujących znaków. Jedyną różnicą między tymi funkcjami jest to, że funkcja eregi_replace() ignoruje rozróżnienie wielkości liter, gdy dopasowuje znaki alfabetyczne.

P15. Jak skopiować dane z jednego serwera na drugi za pomocą PHP?

Możesz użyć następujących trzech opcji:

Opcja 1: Możesz użyć kopii PHP do przenoszenia plików z serwera na serwer. Zapoznaj się z poniższą składnią:

/* Copy the file from source url to server */
$copy = copy( $remote_file_url, $local_file );

Opcja 2: Możesz użyć PHP FTP do przenoszenia plików z serwera na serwer. Zapoznaj się z poniższą składnią.

/* Download $remote_file and save to $local_file */
ftp_get($connect_it,$local_file,$remote_file,FTP_BINARY)

Opcja 3: Możesz użyć opcji ZIP i UNZIP Files w PHP.

Teraz przejdźmy do następnego zestawu pytań, którym są złożone pytania do wywiadu MySQL.

Złożone Pytania do rozmowy kwalifikacyjnej na temat MySQL

P1. Czy możesz podać kilka najlepszych praktyk, których należy przestrzegać w celu optymalizacji w SQL?

Najlepsze praktyki, których należy przestrzegać w przypadku optymalizacji SQL, zależą od indywidualnej osoby, ale poniższa lista zawiera najpopularniejsze praktyki, których należy przestrzegać. Patrz poniżej.

  • Spróbuj unikać przedrostków nazw procedur składowanych przedrostkiem „sp_”.
  • Zaleca się używanie listy kolumn w instrukcjach INSERT.
  • Najlepiej używać klauzul JOIN w standardzie ANSI zamiast klauzul w starym stylu.
  • Korzystając z instrukcji SELECT, unikaj używania * zapytań.
  • Nie używaj podwójnych cudzysłowów w kodzie T-SQL.
  • Staraj się unikać używania numerów kolumn w klauzuli ORDER BY.
  • Spróbuj użyć aliasów tabel, jeśli instrukcja SQL obejmuje więcej niż jedno źródło.

P2. Czy możesz powiedzieć, jakie są różne sposoby tworzenia indeksu?

Różne opcje tworzenia indeksu są następujące:

  • Możesz utworzyć indeks za pomocą instrukcji T-SQL.
  • Możesz użyć programu SQL Server Management Studio. W tym miejscu możesz przejść do tabeli, której potrzebujesz, aby utworzyć indeks, a następnie kliknąć prawym przyciskiem myszy węzeł Indeksy. Tutaj musisz wybrać opcję Nowy indeks.
  • Możesz pośrednio zidentyfikować indeks, definiując PRIMARY KEY i ograniczenie UNIQUE w instrukcji CREATE TABLE lub ALTER TABLE.

Q3. Jaka jest różnica między stołem sterty a stołem tymczasowym?

Tabela sterty Tabela tymczasowa
Tabela sterty istnieje w pamięci Tabela tymczasowa jest ważna tylko podczas sesji.
Tabele sterty są współdzielone przez różną liczbę klientów. Tabele tymczasowe nie są udostępniane klientom.
Tabele tymczasowe wymagają specjalnych uprawnień do tworzenia tabel. Tabele sterty to silniki pamięci masowej, które nie wymagają specjalnych uprawnień.

P4. Dlaczego czy uważasz, że nie zaleca się używania kolumn GUID i CHARACTER jako tablic indeksów klastrowych?

Kolumny GUID wpływają na wydajność sortowania indeksu klastrowanego, ponieważ charakter generowanych losowych wartości GUID jest większy niż typy danych całkowitych.

Kolumny CHARACTER wpływają na wydajność sortowania typów danych znakowych, wartości o większym rozmiarze, wartości nierosnących i wartości niestatycznych, które często ulegają zmianie. Wartości te nie mogą być porównywane jako wartości binarne, ponieważ mechanizm porównywania znaków zależy od używanej kolekcji.

P5. Jak poradzić sobie z –bezpiecznym-plikiem- priv w MySQL?

–secure-file- prywat opcja ogranicza MySQL Server przed ładowaniem katalogów za pomocą LOAD DATA INFILE.

Jeśli chcesz zobaczyć katalog, który został skonfigurowany, możesz użyć POKAŻ ZMIENNE, TAKIE JAK „secure_file_priv”;

Masz głównie dwie opcje do rozwiązania:

  • Przenieś swój plik do katalogu określonego przez secure-file-priv.
  • Lub możesz wyłączyć secure-file-priv. Nie możesz wyłączyć tego później i musisz usunąć go od samego początku.

P6. Jaka jest różnica między indeksami B-Tree i Hash?

B-Tree Hash Indexes
Indeks B-Tree może być używany do porównań kolumn, takich jak =,>, <,>=, <=lub POMIĘDZY operatorami. Hash-Index może być używany tylko do porównań równości, które używają =,>=, <=.
B-Tree może służyć do wyszukiwania następnego wpisu w zamówieniu. Indeks skrótu nie może być użyty do wyszukania następnego wpisu w zamówieniu.
Dowolny lewy prefiks klucza może zostać użyty do znalezienia wierszy. Do znalezienia wiersza używane są tylko całe klucze.

P7. Gdzie jest przechowywana tabela MyISAM?

Każda tabela MyISAM jest przechowywana na dysku w następujących trzech plikach:

  • Plik .frm – przechowuje definicję tabeli.
  • Plik MYD — plik danych ma rozszerzenie MYData.
  • Plik indeksu .MYI – Plik indeksu ma rozszerzenie MYIndex.

P8. Podaj różnice między MongoDB i MySQL.

MongoDB MYSQL
Baza danych typu open source, która przechowuje dokumenty podobne do JSON, które różnią się strukturą. System zarządzania relacyjną bazą danych typu open source, który przechowuje dane relacyjne.
Każdy pojedynczy rekord jest przechowywany jako dokumenty. Każdy pojedynczy rekord jest przechowywany jako wiersze w tabeli.
Dokumenty z określonej klasy lub grupy są przechowywane w kolekcji. Podobny typ rekordów jest przechowywany w tabeli.

P9. Zidentyfikuj, co jest nie tak w poniższym zapytaniu.

SELECT ID pracownika, AVG(Wynagrodzenie)

OD Szczegóły pracownika

GDZIE AVG(Wynagrodzenie)> 75

GRUPUJ WG ID pracownika

Odpowiedź jest dość prosta. Nie możesz użyć klauzuli WHERE do ograniczenia grup. Zamiast tego musisz użyć klauzuli HAVING.

Twoje zapytanie powinno wyglądać następująco:

SELECT EmployeeID, AVG(Salary)
FROM EmployeeDetails
HAVING AVG(Salary) > 75
GROUP BY EmployeeID

P10. Co to jest normalizacja i wymień różne typy normalizacji?

Normalizacja to proces organizowania danych w celu uniknięcia powielania i nadmiarowości. Istnieje wiele kolejnych poziomów normalizacji. Są to tak zwane normalne formy . Każda kolejna postać normalna zależy od poprzedniej. Pierwsze trzy normalne formy są zwykle odpowiednie.

  • Pierwsza forma normalna (1NF) – Brak powtarzających się grup w rzędach
  • Druga forma normalna (2NF) – Każda niekluczowa (wspierająca) wartość kolumny jest zależna od całego klucza podstawowego.
  • Trzecia forma normalna (3NF) – Zależne wyłącznie od klucza podstawowego i żadnej innej wartości kolumny niebędącej kluczem (wspierającej).

Teraz przejdźmy do następnego zestawu pytań, którymi są Podchwytliwe pytania do wywiadu MySQL.

Trudne pytania do rozmowy kwalifikacyjnej MySQL

P1. Weź pod uwagę, że masz złożony indeks złożony z trzech kolumn. Teraz musisz podać wartość dwóch kolumn w klauzuli WHERE zapytania SELECT. Czy uważasz, że indeks można wykorzystać do tej operacji?

Użycie indeksu całkowicie zależy od tego, czy bierzesz pod uwagę indeks podstawowy, czy nie. Weź pod uwagę, że masz stół studencki. Załóżmy teraz, że jeśli indeks jest obecny w StudentID, StudentFirstName i StudentLastName, możesz rozważyć zapytanie w następujący sposób:

SELECT * FROM StudentDetails WHERE StudentID=3 and StudentFirstName='Jatin'

Teraz, jeśli uznasz, że powyższe dwie kolumny w zapytaniu są drugorzędnymi kolumnami indeksu, indeks nie zostanie wywołany. W przeciwnym razie, jeśli powyższe dwie kolumny zawierają pierwszą kolumnę podczas tworzenia indeksu (tj. indeksu podstawowego), to indeks na pewno zostanie wywołany.

W powyższym scenariuszu uznałem, że StudentID i StudentFirstName jako kolumny podstawowe, więc w tym przypadku zostanie użyty indeks.

P2. Załóżmy, że musisz zebrać imię, drugie imię i nazwisko uczniów z poniższej tabeli. Zauważasz jednak, że brakuje kilku wartości w kolumnach imienia, drugiego imienia i nazwiska. Jak zwrócisz pierwsze wartości inne niż null?

Identyfikator ucznia Imię MiddleName LastName
1 Rohit Kumar NULL
2 Sakshi Chowdhary NULL
3 NULL yash Singhania
4 akash NULL Kumar
5 Avinash NULL Daksh

You can use the COALESCE function to return the first non-null value from the table. Consider the below query.

SELECT StudentID, COALESCE(FirstName, MiddleName, LastName) as Name FROM StudentDetails;

Q3. Consider a scenario where you have two to three tables with thousand tuples in each of them. Now, if you have to perform a JOIN operation between them will you choose to perform filtering of rows or transforming of rows first.

The answer to this question is quite logical. If you have three tables with thousands of tuples in each of them, then you are first supposed to filter the rows in those tables and then transform the table. This would be beneficiary as if you transform the table, then the number of columns may increase reducing the performance. Due to such performance issues, a lot of memory will be used and the output will appear on your screen after quite a long wait of time.

Q4. How can you validate emails using a single query?

To validate emails you can use the regular expressions function (REGEXP_LIKE). Consider the below query.

SELECT
Email
FROM
Employee
where NOT REGEXP_LIKE(Email, ‘[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}’, ‘i’);

Q5. Consider a scenario where you have to send an email to a client from the SQL database. How do you think you can achieve this task?

To send an email from the database, you can use the stored procedures. Follow the below procedure to send the emails:

  • Configure your SQL Server Mail account.
  • Enable the database mail.
  • Write a script to send an email. Refer below for the script.
USE [YourDB]
EXEC msdb.dbo.sp_send_dbmail
@recipients = '[email protected]; [email protected];[email protected]’
@body = ' Sample Body Text',
@subject = 'Example Email' ;
GO

Q6. Consider you have the following three tables which have to be linked together.

Department(Ssn, EmployeeName, EmployeeAge..)

EmployeeContactDetails(Ssn, DepartmentID,desc,Ord)

EmployeeAddress(Ssn,DepartmentID, desc, Ord)

The problem statement is to select all the departments from the Department table, with the “desc” field from the EmployeeContactDetails and EmployeeAddress where Ord=1. Now, you have to solve this problem statement with a single query.

To solve this problem statement you can use the JOINS concept. You simply have to perform a JOIN on the Department.Ssn and the DepartmentID in the other tables.

Now, if you are sure that the Ssn exists in all the three considered tables, then you can use the INNER JOIN. Also, if you are not sure that you have matching rows, then you can use the LEFT JOIN. Consider the below query.

SELECT d.Ssn,
d.EmployeeName,
c.desc ContactDetailsDesc,
a.desc AddressDetailsDesc
from Department d
inner join EmployeeContactDetails c
on d.id = c.DepartmentID
inner join address a
on d.id = a.DepartmentID
where d.EmployeeName = 'abc'
and c.ord = 1
and a.ord = 1

Q7. If you are assigned a task, to find the information of PROCEDURES. What are the basic commands that you will use to do so?

To check the procedures, you can consider the following query.

SELECT * FROM SampleSource
WHERE Type=’PROCEDURE’
AND NAME IN (‘SP_CONNECTED_AGG’,’SP_UNCONNECTED_AGG’);

To find the procedures columns information, you can consider the following query.

SELECT OWNER, OBJECT_NAME, ARGUMENT_NAME, DATA_TYPE, IN_OUT from ALL_ARGUMENTS order by OWNER, OBJECT_NAME, SEQUENCE;

Q8. Can you tell which of the following WHERE clauses is faster?

WHERE col * 4 <16

WHERE col <16 / 4

If we compare both the statements, then the second WHERE clause would be comparatively faster than the first one. That is because, for the first statement, MYSQL would retrieve the value of ‘col’ for each and every row, multiplied by four. After that, it would compare the result to 16. Also, in the first case no Index can be used, and hence it makes it further slow.

Q9. What is the main difference between ‘BETWEEN’ and ‘IN’ condition operators?

BETWEEN operator is used to display rows based on a range of values in a row whereas the IN condition operator is used to check for values contained in a specific set of values.

Example of BETWEEN:

SELECT * FROM Students where ROLL_NO BETWEEN 10 AND 50;

Example of IN:

SELECT * FROM students where ROLL_NO IN (8,15,25);

Q10. What are the different types of Collation Sensitivity?

Following are the different types of collation sensitivity:

  • Case Sensitivity
  • Kana Sensitivity
  • Width Sensitivity
  • Accent Sensitivity

So this brings us to the end of the MySQL Interview Questions blog. I hope this set of MySQL Interview Questions will help you ace your job interview. All the best for your interview!

Apart from this MySQL Interview Questions Blog, if you want to get trained from professionals on this technology, you can opt for a structured training from edureka! Click below to know more.

Check out this MySQL DBA Certification Training by Edureka, a trusted online learning company with a network of more than 250,000 satisfied learners spread across the globe. This course trains you on the core concepts &advanced tools and techniques to manage data and administer the MySQL Database. It includes hands-on learning on concepts like MySQL Workbench, MySQL Server, Data Modeling, MySQL Connector, Database Design, MySQL Command line, MySQL Functions etc. End of the training you will be able to create and administer your own MySQL Database and manage data.

Masz do nas pytanie? Please mention it in the comments section of this “My SQL Interview Questions” and we will get back to you as soon as possible.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak używać GROUP BY do łączenia ciągów w MySQL?

  2. Utwórz dynamiczne zapytanie mysql za pomocą zmiennych php

  3. Zapytanie z wieloma wartościami w kolumnie

  4. błąd wykonania:java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

  5. Funkcja MySQL COT() — zwraca cotangens liczby w MySQL