Junte DataFlair no Telegrama!!
Perguntas da Entrevista SQL Mais Feitas
Anteriormente discutimos os diferentes tipos de perguntas SQL feitas na entrevista. Hoje, centrar-nos-emos num tipo particular e que é o das Perguntas de Entrevista SQL Query. Assim, neste blog, encontrará as perguntas da entrevista baseadas em consultas SQL complexas que pode praticar online. Em primeiro lugar, fornecemos-lhe uma tabela de amostra que irá preparar através das consultas SQL. Além disso, demos-lhe a forma de preparar estas tabelas SQL através de diferentes consultas. E finalmente, verá as perguntas mais frequentes sobre as consultas SQL com respostas que o ajudarão a decifrar a sua próxima entrevista SQL.
Então, vamos começar o tutorial através da criação de uma tabela em SQL.
Como Criar Tabela em SQL?
Below são as tabelas que irá criar através das consultas SQL.
WORKER_ID | FIRST_NAME | LAST_NAME | SALARY | JOINING_DATE | DEPARTMENT |
001 | NIHARIKA | ARORA | 20000 | 2013-02-25 09:00:00 | HR |
002 | AYUSHI | GURONDIA | 5000 | 2015-02-10 09:00:00 | |
2014-05-16 09:00:00 | |||||
8000 | 2016-12-20 09:00:00:00 | ADMIN | |||
JAIN | 21000 | 2015-08-29 09:00:00 | |||
JOSHI | 20000 | 2017-02-12 0900:00 | |||
ADMIN | |||||
008 | DEVYANI | PATIDAR | 18000 | 2014-05-02 09:00:00 |
TABLE- BONUS
WORKER_REF_ID | BONUS_DATE | |
1 | 2015-04-20 00:00:00 | 5000 |
2 | 2015-08-11 00:00:00:00 | 3000 |
3 | 2015-04-20 00:00:00 | 4000 |
1 | 2015-04-20 00:00:00:00 | 4500 |
2 | 2015-08-11 00:00:00 | 3500 |
TABLE- TITLE
WORKER_REF_ID | WORKER_TITLE | AFECTED_FROM |
1 | Manager | 2016-02-20 00:00:00 |
2 | ||
8 | Executivo | 2016-06-11 00:00:00 |
8 | Executivo | 2016-06-11 00:00:00 |
5 | Manager | 2016-06-11 00:00:00 |
4 | Asst. Manager | |
7 | 2016-06-11 00:00:00 | |
6 | ||
3 | Lead | 2016-06-11 00:00:00:00 |
i. Consulta para criar a Base de Dados
CREATE DATABASE ORG;SHOW DATABASES;USE ORG;
Saiba mais sobre SQL criar Base de Dados
ii. Consulta para criar a Tabela
CREATE TABLE Worker (WORKER_ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT,FIRST_NAME CHAR(25),LAST_NAME CHAR(25),SALARY INT(15),JOINING_DATE DATETIME,DEPARTMENT CHAR(25));
iii. Consulta a inserir no Trabalhador de Mesa
INSERT INTO Worker(WORKER_ID, FIRST_NAME, LAST_NAME, SALARY, JOINING_DATE, DEPARTMENT) VALUES(001, ‘NIHARIKA’, ‘ARORA’, ‘20000’, ‘2013-02-25 09:00:00’, ‘HR’)(002, ‘AYUSHI’, ‘GURONDIA’, ‘5000’, ‘2015-02-10 09:00:00’, ‘ADMIN’)(003,’ PRIYANSHA, CHOUKSEY’, ‘25000’, ‘2014-05-16 09:00:00’, ‘HR’)(004, ‘APARNA’, ’DESHPANDE’, ‘8000’, ‘2016-12-20 09:00:00’, ‘ADMIN’)(005, ‘SHAFALI’, ‘JAIN’, ‘21000’, ‘2015-08-29 09:00:00’, ADMIN’)(006, ‘SUCHITA’, ‘JOSHI’, ‘20000’, ‘2017-02-12 09:00:00’, ‘ACCOUNT’)(007, ‘SHUBHI’, ‘MISHRA’, ‘15000’, ‘2018-03-23 09:00:00’, ‘ADMIN’)(008, ‘DEVYANI’, ‘PATIDAR’, ‘18000’, ‘2014-05-02 09:00:00’, ‘ACCOUNT’);
iv. Consulta para criar tabela Bónus
CREATE TABLE Bonus (WORKER_REF_ID INT,BONUS_AMOUNT INT(10),BONUS_DATE DATETIME,FOREIGN KEY (WORKER_REF_ID)REFERENCES Worker(WORKER_ID) ON DELETE CASCADE);
Vamos rever a chave primária e estrangeira em SQL
v. Consulta para inserir na tabela Bonus
INSERT INTO Bonus(WORKER_REF_ID, BONUS_AMOUNT, BONUS_DATE) VALUES(001, 5000, '15-04-20'),(002, 3000, '15-08-11'),(003, 4000, '15-04-20'),(001, 4500, '15-04-20'),(002, 3500, '15-08-11');
vi. Consulta para criar a tabela Título
CREATE TABLE Title (WORKER_REF_ID INT,WORKER_TITLE CHAR(25),AFFECTED_FROM DATETIME,FOREIGN KEY (WORKER_REF_ID)REFERENCES Worker(WORKER_ID) ON DELETE CASCADE);
vii. Consulta para inserir na tabela Título
INSERT INTO Title(WORKER_REF_ID, WORKER_TITLE, AFFECTED_FROM) VALUES(001, 'Manager', '2016-02-20 00:00:00'),(002, 'Executive', '2016-06-11 00:00:00'),(008, 'Executive', '2016-06-11 00:00:00'),(005, 'Manager', '2016-06-11 00:00:00'),(004, 'Asst. Manager', '2016-06-11 00:00:00'),(007, 'Executive', '2016-06-11 00:00:00'),(006, 'Lead', '2016-06-11 00:00:00'),(003, 'Lead', '2016-06-11 00:00:00');
Desta forma, é possível criar e inserir valores na tabela. Assim, vamos iniciar as Perguntas e Respostas da Entrevista SQL Query.
Leitura Recomendada – SQL Subquery
30 Perguntas e Respostas da Entrevista SQL Complexa
Agora sabe como criar tabela e inserir valores na mesma através da SQL Query. Assim, vamos praticar a SQL Query através das melhores e importantes Perguntas de Entrevista SQL Query.
Q.1 Escreva uma consulta SQL para ir buscar “FIRST_NAME” à tabela WORKER usando <WORKER_NAME> como alias.
Ans. A consulta que pode usar é:
Select FIRST_NAME AS WORKER_NAME from Worker;
Q.2 O que é uma consulta SQL para ir buscar o “FIRST_NAME” da tabela WORKER em maiúsculas?
Ans. A consulta que pode usar é:
Select upper(FIRST_NAME) from Worker;
Q.3 O que é uma consulta SQL para obter os valores únicos da coluna DEPARTAMENTO da tabela WORKER?
Ans. A consulta que pode utilizar é:
Select distinct DEPARTMENT from Worker;
Q.4 Escreva uma consulta SQL para imprimir os três primeiros caracteres da coluna FIRST_NAME.
Ans. A consulta que pode ser usada é:
Select substring(FIRST_NAME,1,3) from Worker;
Q.5 O que é uma consulta SQL para encontrar a posição do alfabeto (‘A’) na coluna FIRST_NAME de Ayushi.
Ans. A consulta que pode ser usada é:
Select INSTR(FIRST_NAME, BINARY'a') from Worker where FIRST_NAME = 'Ayushi';
Q.6 O que é uma consulta SQL para imprimir o FIRST_NAME da Mesa de Trabalho após a remoção dos espaços brancos do lado direito.
Ans. A consulta que pode ser usada é:
Select RTRIM(FIRST_NAME) from Worker;
Deve ler sobre as ferramentas de optimização da consulta SQL
Q.7 Escreva uma consulta SQL para imprimir o DEPARTAMENTO da Mesa de Trabalho após a remoção dos espaços brancos do lado esquerdo.
Ans. A consulta que pode utilizar é:
Select LTRIM(DEPARTMENT) from Worker;
Q.8 O que é uma consulta SQL para obter os valores únicos da coluna DEPARTAMENTO e assim imprimir é o comprimento?
Ans. A consulta que pode usar é:
Select distinct length(DEPARTMENT) from Worker;
Q.9 Escreva uma consulta SQL para imprimir o FIRST_NAME depois de substituir ‘A’ por ‘a’.
A consulta que pode ser utilizada é:
Select REPLACE(FIRST_NAME,'a','A') from Worker;
Q.10 O que é uma consulta SQL para imprimir o FIRST_NAME e LAST_NAME numa coluna chamada COMPLETE_NAME? (Deve ser utilizada uma carta espacial)
Ans. A consulta que pode ser utilizada é:
Select CONCAT(FIRST_NAME, ' ', LAST_NAME) AS 'COMPLETE_NAME' from Worker;
Q.11 O que é uma consulta SQL para imprimir todos os detalhes da tabela de trabalhadores que foi encomendada por FIRST_NAME ascendente?
Ans. A consulta que pode ser usada é:
Select * from Worker order by FIRST_NAME asc;
Q.12 Escreva uma consulta SQL para imprimir todos os detalhes da tabela de trabalhadores que foi encomendada por FIRST_NAME ascendente e o DEPARTAMENTO em descendente
A consulta que pode ser utilizada é:
Select * from Worker order by FIRST_NAME asc,DEPARTMENT desc
Q.13 O que é uma consulta SQL para imprimir os detalhes dos trabalhadores ‘NIHARIKA’ e ‘PRIYANSHA’.
Ans. A consulta que pode ser utilizada é:
Select * from Worker where FIRST_NAME in ('NIHARIKA','PRIYANSHA');
Q.14 O que é uma consulta SQL imprimindo todos os detalhes dos trabalhadores excluindo os primeiros nomes de ‘NIHARIKA’ e ‘PRIYANSHA’
Ans. A consulta que pode ser usada é:
Select * from Worker where FIRST_NAME not in ('NIHARIKA','PRYANSHA');
Conhece o tutorial SQL dinâmico?
Q.15 Escreva uma consulta SQL para imprimir os detalhes do nome do DEPARTAMENTO como “Admin”.
Ans. A consulta que pode ser usada é:
Select * from Worker where DEPARTMENT like 'Admin%';
Q.16 O que é uma consulta SQL para imprimir os detalhes dos trabalhadores cujo PRIMEIRO NOME contém “A”?
Ans. A consulta que pode ser usada é:
Select * from Worker where FIRST_NAME like '%a%';
Q.17 O que é uma consulta SQL para imprimir o PRIMEIRO_NOME dos trabalhadores cujo nome termina com ‘A’?
Ans. A consulta que pode ser usada é:
Select * from Worker where FIRST_NAME like '%a';
Q.18 O que é uma consulta SQL para imprimir os detalhes dos trabalhadores cujo FIRST_NAME termina com ‘H’ e contém seis alfabetos?
Ans. A consulta que pode ser usada é:
Select * from Worker where FIRST_NAME like '_____h';
Q.19 Escreva uma consulta SQL para imprimir os detalhes dos trabalhadores cujo SALÁRIO se situa entre 10000 e 20000.
Ans. A consulta que pode ser usada é:
Select * from Worker where SALARY between 10000 and 20000;
Q.20 Escreva uma consulta SQL para imprimir os detalhes dos trabalhadores que aderiram emFev’2014
Ans. A consulta que pode ser usada é:
Select * from Worker where year(JOINING_DATE) = 2014 and month(JOINING_DATE) = 2;
Q.21 Escreva uma consulta SQL para obter a contagem de trabalhadores em DEOARTMENT com ‘Admin’.
Ans. A consulta que pode ser usada é:
SELECT COUNT(*) FROM worker WHERE DEPARTMENT = 'Admin';
Q.22 Escreva uma consulta SQL para obter os detalhes dos trabalhadores com salários >= 5000 e <= 10000.
Ans. A consulta que pode ser usada é:
SELECT CONCAT(FIRST_NAME, ' ', LAST_NAME) As Worker_Name, SalaryFROM workerWHERE WORKER_ID IN(SELECT WORKER_ID FROM workerWHERE Salary BETWEEN 5000 AND 10000);
Q.23 O que é uma consulta SQL para obter o número de trabalhadores em cada departamento em ordem decrescente?
Ans. A consulta que pode ser usada é:
SELECT DEPARTMENT, count(WORKER_ID) No_Of_WorkersFROM workerGROUP BY DEPARTMENTORDER BY No_Of_Workers DESC;
Q.24 O que é uma consulta SQL para imprimir os detalhes dos trabalhadores que também são gestores?
Ans. A consulta que pode ser usada é:
SELECT DISTINCT W.FIRST_NAME, T.WORKER_TITLEFROM Worker WINNER JOIN Title TON W.WORKER_ID = T.WORKER_REF_IDAND T.WORKER_TITLE in ('Manager');
Q.25 Escreva uma consulta SQL para obter os detalhes de registos duplicados em alguns campos.
Ans. A consulta que pode ser usada é:
SELECT WORKER_TITLE, AFFECTED_FROM, COUNT(*)FROM TitleGROUP BY WORKER_TITLE, AFFECTED_FROMHAVING COUNT(*) > 1;
Q.26 O que é uma consulta SQL para mostrar apenas linhas ímpares?
Ans. A consulta que pode ser usada é:
SELECT * FROM Worker WHERE MOD (WORKER_ID, 2) <> 0;
Q.27 O que é uma consulta SQL para mostrar apenas linhas pares?
Ans. A consulta que pode ser usada é:
SELECT * FROM Worker WHERE MOD (WORKER_ID, 2) = 0;
Q.28 Escrever uma consulta SQL para clonar uma nova tabela a partir de outra tabela.
Ans. A consulta geral que pode ser usada para clonar uma tabela com dados é:
SELECT * INTO WorkerClone FROM Worker;
A forma geral que pode ser usada para clonar uma tabela sem informação é:
SELECT * INTO WorkerClone FROM Worker WHERE 1 = 0;
Q.29 Escreva uma consulta SQL para obter os detalhes da intersecção de duas tabelas.
Ans. A consulta que pode ser usada é:
(SELECT * FROM Worker)INTERSECT(SELECT * FROM WorkerClone);
Q.30 O que é uma consulta SQL para mostrar os detalhes de uma tabela que outra não tem.
Ans. A consulta que pode ser usada é:
SELECT * FROM WorkerMINUSSELECT * FROM Title;
P>Então, tudo isto foi em Perguntas e Respostas da Consulta SQL. Espero que tenha gostado da explicação.
Sumário – Consultas SQL
Hence, completou o blog das Perguntas de Entrevista SQL Query. Nisto, discutiu perguntas de entrevista SQL baseadas em consultas complexas. Juntamente com isto, vimos como se pode criar uma tabela em SQL e acrescentar-lhe valores. Além disso, aprendeu todo o tipo de consultas SQL que poderiam ser feitas em qualquer entrevista técnica SQL.