sql >> Database >  >> RDS >> Mysql

Top 50 MySQL-interviewvragen die u in 2022 moet voorbereiden

MySQL-sollicitatievragen:

In het tijdperk van 2,5 quintiljoen bytes aan gegevens die elke dag worden gegenereerd, spelen gegevens een cruciale rol bij de besluitvorming voor bedrijfsactiviteiten. Dit zorgt er in wezen voor dat we gegevens in databases verwerken en dat we databasebeheersystemen moeten gebruiken. Met verschillende soorten Database Management System (DBMS) die tegenwoordig op de markt zijn, is het Relational Database Management System (RDBMS) een van de meest populaire systemen die beschikbaar zijn. Dit type DBMS gebruikt een structuur waarmee gebruikers gegevens in relatie kunnen identificeren en benaderen naar een ander stuk gegevens in de database, en MySQL is zo'n populaire RDBMS. Welnu, het kennen van MYSQL opent de deuren voor u om een ​​databasebeheerder te worden. Ik geloof dat je al op de hoogte bent van deze feiten en dit heeft ervoor gezorgd dat je op dit artikel over MySQL-interviewvragen bent beland.

In dit artikel over MySQL-interviewvragen, zal ik de belangrijkste vragen met betrekking tot MySQL bespreken die in uw interviews worden gesteld. Deze vragen zijn verzameld na overleg met mensen met uitstekende vaardigheden op dit gebied. Voor een beter begrip heb ik het artikel in de volgende secties verdeeld:

  1. MySQL DBA-sollicitatievragen
  2. PHP MySQL-sollicitatievragen
  3. Complexe MySQL-interviewvragen
  4. Tricky MySQL-sollicitatievragen

Dus laten we beginnen jongens.

MySQL DBA-interviewvragen

Q1. Kun je het verschil zien tussen Mysql_connect en Mysql_pconnect?

Mysql_connect Wordt gebruikt om een ​​nieuwe verbinding met een database te openen.
Je kunt de databaseverbinding openen en sluiten op basis van het verzoek.
Opent een pagina telkens wanneer de pagina wordt geladen.
Mysql_connect vs Mysql_pconnect
Mysql_pconnect Gebruikt om een ​​permanente verbinding in een database te openen.
U kunt de databaseverbinding niet sluiten.
Het is niet nodig om elke keer dat een pagina wordt geladen een verbinding te openen en te sluiten.

Q2. Wat is de standaardpoort voor de MySQL-server?

De standaardpoort van MySQL Server is 3306 . Afgezien hiervan is een andere standaard standaardpoort voor de SQL Server in TCP/IP 1433 .

Q3. Kun je zien wat de verschillende set-bewerkingen zijn die beschikbaar zijn in MySQL?

De verschillende setbewerkingen die beschikbaar zijn in MySQL zijn als volgt:

  • UNION – Deze bewerking retourneert alle afzonderlijke rijen die door een zoekopdracht zijn geselecteerd
  • UNION ALL – Deze bewerking retourneert alle rijen die door een zoekopdracht zijn geselecteerd en omvat ook alle dubbele rijen.
  • MIN – Deze bewerking retourneert alle afzonderlijke rijen die zijn geselecteerd door de eerste zoekopdracht, maar selecteert niet de rijen die zijn geselecteerd door de tweede zoekopdracht.
  • INTERSECTEN – Deze bewerking retourneert alle afzonderlijke rijen die door beide zoekopdrachten zijn geselecteerd.

Raadpleeg de onderstaande afbeelding:

Q4. Kunt u de volgorde van de SQL SELECT-instructie aangeven?

De volgorde van de SQL SELECT-instructie is als volgt:

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

Q5. Wat is Database White Box-testen?

De Database Whitebox Testing behandelt de tabellen, datamodel, schema en referentiële integriteitsregels. Het behandelt ook de triggers, logische weergaven met databaseconsistentie en ACID-eigenschappen.

Q6. Wat is Database Black Box-testen?

Database Black Box Testing houdt zich bezig met het in kaart brengen van gegevens, het opslaan en ophalen van gegevens. De Database Black Box Testing wordt gebruikt voor technieken als Equivalence Partitioning en Boundary Value Analysis.

Q7. Wat is CTE?

Een expressie die bestaat uit een tijdelijke set resultaten die is gedefinieerd in een SQL-instructie, wordt een Common Table Expression (CTE) genoemd.

Q8. Wat zijn de verschillende tabellen die aanwezig zijn in Mysql?

Er zijn hoofdzakelijk vijf soorten tabellen aanwezig in MySQL. Van al deze database-engines is MyISAM de standaard database-engine die in MySQL wordt gebruikt. Raadpleeg hieronder om de vijf soorten tabellen te kennen:

  • MijnISAM
  • Hoop
  • Samenvoegen
  • INNO DB
  • ISAM

Q9. Wat is een cursor?

Beschouwd als een aanwijzer om naar één rij in een reeks rijen te wijzen, is een cursor niets anders dan een besturingselement waarmee de records in de tabel kunnen worden doorlopen. De cursor wordt dus gebruikt voor het uitvoeren van verplaatsingsacties zoals het toevoegen, ophalen en verwijderen van records in een database.

Q10. Hoe kunt u testen op NULL-waarden in een database?

Een NULL-waarde is een veld zonder waarde in dat specifieke veld. Aangezien de NULL-waarde niet kan worden vergeleken met andere NULL-waarden, kunt u de vergelijkingsoperatoren zoals =, niet gebruiken. Om de velden met NULL-waarden te vergelijken, moet u de operatoren IS NULL en IS NOT NULL gebruiken.

Zie hieronder voor de syntaxis van IS NULL en 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;

Q11. Kun je in MySQL nader ingaan op BLOB en TEXT?

BLOB

BLOB(Binary Large Object) wordt gebruikt om een ​​variabele hoeveelheid gegevens te bevatten en kan tot 65.535 bytes aan gegevens bevatten. Hieronder volgen de vier soorten BLOB.

  • TINYBLOB
  • BLOB
  • MEDIUMBLOB
  • LONGBLOB

TEKST

TEXT wordt gebruikt om tekenreekswaarden op te slaan en kan een maximale lengte van 65.535 tekens bevatten. Hieronder volgen de vier typen TEKST

  • TINYTEXT
  • TEKST
  • MEDIUMTEKST
  • LONGTEXT

Q12. Kun je zien hoe je het maximale salaris in SQL kunt weergeven?

Om het maximale salaris in SQL weer te geven, kunt u de ingebouwde functie MAX() gebruiken.

Q13. Wat is het verschil tussen de NVL-functie, IFNULL-functie en de ISNULL-functie?

De NVL-functie, IFNULL-functie en de ISNULL-functie worden allemaal gebruikt om de NULL-waarde te vervangen door een andere waarde. De ORACLE-gebruikers gebruiken de NVL-functie, MySQL-gebruikers gebruiken de IFNULL-functie en de SQL-servers gebruiken de ISNULL-functie

Laten we bijvoorbeeld zeggen dat we een column(column_3) hebben die NULL-waarden heeft.

Dus, als je het onderstaande statement uitvoert, is de output die je krijgt een NULL-waarde.

SELECT column_1 * (column_2 + column_3) FROM Example_Table

Om dit te verhelpen, kun je de bovenstaande drie functies als volgt gebruiken:

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

Q14. Wat is het verschil tussen GUI-testen en databasetesten?

GUI-testen Databasetesten
Ook bekend als gebruikersinterfacetest of front-endtest. Ook bekend als back-endtesten of gegevenstesten.
Behandelt items die interactie hebben met gebruikers. Behandelt items die verborgen zijn voor gebruikers.
Testers hoeven SQL niet te kennen. Testers moeten SQL kennen.
GUI-tests richten zich op het uiterlijk van de applicatie Databasetests richten zich op de integriteit van gegevens in de front-end met de gegevens in de back-end

Q15. Hoe het N-de hoogste salaris van een tabel in een Mysql-query weer te geven?

Bekijk de tabel met de naam 'Werknemer'.

Om het N-de salaris te vinden, overweeg de onderstaande verklaring.

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

Dus, als je het 7e grootste salaris wilt weten, overweeg dan de onderstaande vraag.

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

Laten we nu verder gaan met de volgende reeks vragen, namelijk de PHP MySQL-interviewvragen.

PHP MySQL-sollicitatievragen

Q1. Wat is het commando dat wordt gebruikt om een ​​database te maken met PHP en MySQL?

Het commando dat wordt gebruikt om een ​​database te maken met zowel PHP als MySQL is mysql_create_db(“Database Name”).

Q2. Kun je het verschil zien tussen Mysql_fetch_object en Mysql_fetch_array?

Beide zijn vergelijkbaar, maar variëren met een enkel verschil. Mysql_fetch_object retourneert als object en Mysql_fetch_array retourneert een array. Dit betekent dat u de gegevens niet via hun offsets kunt openen, maar alleen via de veldnamen.

V3:Wat zijn de manieren waarop u met PHP gegevens in de resultatenset van MySQL kunt ophalen?

De verschillende manieren waarop u met PHP gegevens in de resultatenset van MySQL kunt ophalen, zijn als volgt:

  • mysql_fetch_object:deze constante haalt een resultaatrij op als een object.
  • mysql_fetch_array:deze constante haalt een resultaatrij op als een associatieve array, numerieke array of als beide.
  • mysql_fetch_row:deze constante geeft ons een resultaatrij als een opgesomde array.
  • mysql_fetch_assoc:deze constante geeft ons een resultaatrij als een associatieve array.

Q4. Kunt u aangeven met hoeveel waarden de functie van MySQL in overweging kan worden genomen?

De Set-functie van MySQL kan maximaal 64 waarden aannemen, maar kan ook 0 waarden aannemen.

Q5. Kunt u aangeven waarom u Lamp (Linux, Apache, MySQL, PHP) heeft gekozen in plaats van een andere combinatie van softwareprogramma's, servers en besturingssysteem?

De reden voor het selecteren van Lampstack is heel eenvoudig. Linux, Apache, MySQL, PHP zijn open source software. De beveiliging van het Linux-besturingssysteem is veel meer dan Windows. De Apache-server is een betere server dan andere in het perspectief van functionaliteiten en beveiliging. MySQL is een van de meest populaire open source databases die met PHP wordt gebruikt om verschillende functionaliteiten uit te voeren.

Q6. Kun je een manier vinden om het aantal dagen tussen de twee opgegeven datums in PHP te weten?

U kunt eenvoudig de twee datums declareren en vervolgens de strtotime gebruiken functie om zowel de datums af te trekken als de verschillen tussen de dagen in seconden te vinden.

Beschouw het onderstaande voorbeeld.

date1 ='2018-09-15′;
datum2 =‘2018-10-15’;
dagen =(strtotime($date1) – strtotime($date2)) / (60 * 60 * 24);

Q7. Kun je vertellen hoe je het aantal rijen in een resultatenset kunt vinden met behulp van PHP?

Je kunt de functie mysql_num_rows gebruiken om het aantal rijen in een resultatenset te vinden.

Beschouw het onderstaande voorbeeld.

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";

Q8. Wat zijn de functies die worden gebruikt om de gegevens in MySQL te coderen en te decoderen?

De functie die wordt gebruikt om de gegevens te versleutelen is AES_ENCRYPT() en de functie die wordt gebruikt om de gegevens te ontsleutelen is AES_DECRYPT() .

Q9. Als u de gebruikersnaam en het wachtwoord wilt versleutelen met PHP, hoe gaat u dat dan doen?

U kunt de gebruikersnaam en het wachtwoord coderen met respectievelijk de volgende functies:

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

Q10. Hoe kunt u de prestaties van de MySQL SELECT-query verbeteren?

De SELECT statement wordt gebruikt om gegevens uit een database te selecteren en de geretourneerde gegevens worden opgeslagen in een resultatentabel, de result-set genoemd. . De SELECT-instructie kan afzonderlijk worden gebruikt of kan worden gebruikt met andere instructies, zoals ORDER BY , GROEPEREN OP , en HEBBEN clausule.

Om de prestaties van een MySQL SELECT-query te verbeteren, kunt u de LIMIT-clausule gebruiken om MySQL te beperken van verder zoeken in een tabel, nadat u het vereiste aantal records heeft verzameld. Afgezien hiervan kunnen we ook de LEFT JOIN of de RIGHT JOIN gebruiken om gegevens uit twee of meer tabellen op te halen.

Q11. Kun je het verschil zien tussen $message en $$message?

$message en $$message zijn beide PHP-variabelen. $message wordt gebruikt om de variabele gegevens op te slaan en $$message wordt gebruikt om de variabele van een variabele op te slaan. Dus eigenlijk worden gegevens opgeslagen in $message en $$message wordt gebruikt om de gegevens op te slaan die dynamisch kunnen worden gewijzigd.

Q12. Schrijf een programma met het SELECT-statement, While Loop.

Je kunt een programma schrijven om de studentengegevens uit de studententabel te selecteren en de lus gebruiken om alleen de naam van de studenten af ​​te drukken.

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

Q13. Hoe kunt u een back-up maken en een MySQL-database herstellen met behulp van PHP?

MySQL wordt geleverd met een hulpprogramma mysqldump om back-up en herstel van de database te bieden. De opdrachten die u kunt gebruiken voor back-up en herstel zijn respectievelijk als volgt.

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

U kunt ook de gebruikersinterface van phpMyAdmin gebruiken om een ​​back-up van uw database te maken. Als u een back-up van de database wilt maken, hoeft u alleen maar op de knop "exporteren . te klikken ” link op de phpMyAdmin hoofdpagina.

Q14. Kun je het verschil zien tussen ereg_replace() en eregi_replace()?

ereg_replace en eregi_repalce() zijn reguliere expressies die worden gebruikt om de overeenkomende tekens te vervangen. Het enige verschil tussen deze functies is dat de functie eregi_replace() het onderscheid tussen hoofdletters negeert wanneer deze overeenkomt met alfabetische tekens.

Q15. Hoe kopieer je gegevens van de ene server naar de andere met behulp van PHP?

U kunt de volgende drie opties gebruiken:

Optie 1: U kunt de PHP Copy gebruiken om bestanden van server naar server te verplaatsen. Raadpleeg de onderstaande syntaxis:

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

Optie 2: U kunt de PHP FTP gebruiken om bestanden van server naar server te verplaatsen. Raadpleeg de onderstaande syntaxis.

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

Optie 3: U kunt de optie ZIP- en UNZIP-bestanden in PHP gebruiken.

Laten we nu verder gaan met de volgende reeks vragen, namelijk de complexe MySQL-interviewvragen.

Complex MySQL-sollicitatievragen

Q1. Kun je enkele best practices vertellen die moeten worden gevolgd voor optimalisatie in SQL?

De best practices die gevolgd moeten worden voor SQL-optimalisaties zijn afhankelijk van het individu tot het individu, maar de volgende lijst bevat de meest populaire praktijken die aangeraden worden te volgen. Zie hieronder.

  • Probeer te voorkomen dat de namen van uw opgeslagen procedures worden voorafgegaan door "sp_".
  • Het wordt aanbevolen om de kolomlijst te gebruiken in INSERT-instructies.
  • Gebruik bij voorkeur de ANSI-standaard JOIN-clausules in plaats van de oude stijl-clausules.
  • Bij het gebruik van de SELECT-instructie, vermijd het gebruik van *-query's.
  • Gebruik geen dubbele aanhalingstekens in T-SQL-code.
  • Probeer het gebruik van kolomnummers in de ORDER BY-clausule te vermijden.
  • Probeer tabelaliassen te gebruiken als uw SQL-instructie meer dan één bron omvat.

Q2. Kunt u aangeven wat de verschillende manieren zijn om een ​​index te maken?

De verschillende opties om een ​​index te maken zijn als volgt:

  • Je kunt een index maken met behulp van de T-SQL-statements.
  • U kunt de SQL Server Management Studio gebruiken. Hierin kunt u naar de tabel bladeren die u nodig heeft om een ​​index te maken en vervolgens met de rechtermuisknop op het knooppunt Indexen klikken. Hier moet je de optie Nieuwe index kiezen.
  • U kunt de index indirect identificeren door de PRIMARY KEY en de UNIQUE-beperking te definiëren in de instructie CREATE TABLE of ALTER TABLE.

Q3. Wat is het verschil tussen een Heap-tabel en een tijdelijke tafel?

Heap Table Tijdelijke tabel
Heap Table bestaat in het geheugen Een tijdelijke tabel is alleen geldig tijdens de sessie.
Heap-tabellen worden gedeeld door een verschillend aantal klanten. Tijdelijke tabellen worden niet gedeeld door de klanten.
Tijdelijke tabellen hebben een speciaal recht nodig om tabellen te maken. Heap Tables zijn storage-engines die geen speciale privileges nodig hebben.

Q4. Waarom denk je dat het aangeraden is om geen GUID- en CHARACTER-kolommen te gebruiken als geclusterde indexarrays?

GUID-kolommen zijn van invloed op de sorteerprestaties van geclusterde indexen, aangezien de aard van de gegenereerde willekeurige GUID-waarde groter is dan de gegevenstypen met gehele getallen.

CHARACTER-kolommen zijn van invloed op de sorteerprestaties van de tekengegevenstypen, grotere waarden, niet-oplopende waarden en niet-statische waarden die vaak de neiging hebben te veranderen. Deze waarden kunnen niet als binaire waarden worden vergeleken, omdat het mechanisme voor het vergelijken van tekens afhangt van de gebruikte verzameling.

Q5. Hoe ga je om met het –secure-file- priv in MySQL?

–secure-file- priv optie beperkt de MySQL-server van het laden van de mappen met behulp van het LOAD DATA INFILE.

Als u de map wilt zien die is geconfigureerd, kunt u de SHOW VARIABLES LIKE "secure_file_priv" gebruiken;

Je hebt hoofdzakelijk twee opties om aan te pakken:

  • Verplaats je bestand naar de map die is gespecificeerd door de secure-file-priv.
  • Of je kunt secure-file-priv uitschakelen. U kunt dit later niet uitschakelen en u moet het vanaf het begin zelf verwijderen.

Q6. Wat is het verschil tussen B-Tree- en Hash-indexen?

B-Tree Hash-indexen
Een B-Tree-index kan worden gebruikt voor kolomvergelijkingen zoals =,>, <,>=, <=of TUSSEN operatoren. Een hash-index kan alleen worden gebruikt voor vergelijkingen van gelijkheid die =,>=, <=.
B-Tree kan worden gebruikt om het volgende item in de bestelling te zoeken. Hash-index kan niet worden gebruikt om naar het volgende item in de bestelling te zoeken.
Elk voorvoegsel uiterst links van de sleutel kan worden gebruikt om de rijen te vinden. Alleen hele toetsen worden gebruikt om een ​​rij te vinden.

Q7. Waar wordt de MyISAM-tabel opgeslagen?

Elke MyISAM-tabel wordt op schijf opgeslagen in de volgende drie bestanden:

  • .frm-bestand – Slaat de tabeldefinitie op.
  • .MYD-bestand:een gegevensbestand heeft een MYData-extensie.
  • .MYI-indexbestand – Het indexbestand heeft een MYIndex-extensie.

Q8.Vermeld de verschillen tussen MongoDB en MySQL.

MongoDB MYSQL
Een open source database die JSON-achtige documenten opslaat die in structuur variëren. Een open source relationeel databasebeheersysteem dat relationele gegevens opslaat.
Elk afzonderlijk record wordt opgeslagen als documenten. Elk afzonderlijk record wordt als rijen in een tabel opgeslagen.
Documenten van een bepaalde klas of groep worden opgeslagen in een verzameling. Een soortgelijk type records wordt opgeslagen in een tabel.

Q9. Bepaal wat er mis is in de onderstaande zoekopdracht.

SELECTEER Werknemers-ID, AVG(salaris)

VAN EmployeeDetails

WAAR AVG(salaris)> 75

GROEPEREN OP Medewerker-ID

Het antwoord is vrij eenvoudig. U kunt de WHERE-component niet gebruiken om de groepen te beperken. In plaats daarvan moet je de HAVING-clausule gebruiken.

Uw zoekopdracht zou als volgt moeten zijn:

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

Q10. Wat is normalisatie en vermeld de verschillende soorten normalisatie?

Normalisering is het proces van het organiseren van gegevens om duplicatie en redundantie te voorkomen. Er zijn veel opeenvolgende niveaus van normalisatie. Dit worden normale vormen genoemd . Elke opeenvolgende normaalvorm is afhankelijk van de vorige. De eerste drie normaalvormen zijn meestal voldoende.

  • Eerste normaalvorm (1NF) – Geen herhalende groepen binnen rijen
  • Tweede normaalvorm (2NF) – Elke niet-sleutel (ondersteunende) kolomwaarde is afhankelijk van de hele primaire sleutel.
  • Derde normaalvorm (3NF) – Alleen afhankelijk van de primaire sleutel en geen andere niet-sleutel (ondersteunende) kolomwaarde.

Laten we nu verder gaan met de volgende reeks vragen, de lastige MySQL-interviewvragen.

Tricky MySQL-interviewvragen

Q1. Overweeg dat u een samengestelde index van drie kolommen hebt. Nu moet u de waarde van twee kolommen opgeven in de WHERE-component van een SELECT-query. Denkt u dat Index kan worden gebruikt voor de operatie?

Het gebruik van de index hangt er helemaal van af of je de primaire index in overweging neemt of niet. Stel je hebt een studententafel. Stel nu dat als er een Index aanwezig is op StudentID, StudentFirstName en StudentLastName, u een query als volgt kunt overwegen:

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

Als u nu bedenkt dat de bovenstaande twee kolommen in de query de secundaire indexkolommen zijn, wordt de index niet aangeroepen. Anders, als de bovenstaande twee kolommen de eerste kolom bevatten tijdens het maken van een index (d.w.z. de primaire index), dan zal de index zeker worden aangeroepen.

In het bovenstaande scenario heb ik StudentID en StudentFirstName als primaire kolommen beschouwd, dus in dit geval zal een Index worden gebruikt.

Q2. Stel dat je de voornaam, middelste naam en achternaam van studenten moet verzamelen uit de onderstaande tabel. Maar u ziet dat er weinig ontbrekende waarden zijn in de kolommen voornaam, middelste naam en achternaam. Hoe retourneert u de eerste niet-null-waarden?

Student-ID Voornaam MiddleName Achternaam
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.

Heeft u een vraag voor ons? 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. Een ander PostgreSQL-commitfest beheren

  2. mysqli_stmt::bind_param():Aantal elementen in typedefinitietekenreeks komt niet overeen met aantal bindvariabelen

  3. Oracle Ace-wijzigingen

  4. Stappen om het beheerderswachtwoord te wijzigen dat is verloren of vergeten van een EBS WebLogic Domain R12.2