Capgemini SQL Interview Question | SQL Interview Question no 11 | Daily SQL Practice | Advanced SQL
HTML-код
- Опубликовано: 26 окт 2024
- In this video, we tackle a common SQL interview question: How do we find employees who speak both German and English? We’ll walk through a practical scenario where we have an Employee Languages table and must filter employees based on their languages.
You’ll learn the following:
How to use GROUP BY and HAVING in SQL.
How to filter results based on multiple conditions.
A step-by-step breakdown of the query logic to solve real-world problems.
This type of question is often asked in SQL interviews, and mastering it will give you an edge in data-related roles!
If you found this video helpful, don't forget to like, comment, and subscribe for more SQL interview tips and tutorials.
#SQL #SQLInterviewQuestions #LearnSQL #DataAnalysis #SQLQuery #InterviewTips #Database #Programming
.
.
.
.
.
-------------Table SCript-----------------------------
CREATE TABLE Company_user (
Company_Id VARCHAR(512),
User_Id INT,
Language VARCHAR(512)
);
INSERT INTO Company_user (Company_Id, User_Id, Language) VALUES ('1', '1', 'German');
INSERT INTO Company_user (Company_Id, User_Id, Language) VALUES ('1', '1', 'English');
INSERT INTO Company_user (Company_Id, User_Id, Language) VALUES ('1', '2', 'German');
INSERT INTO Company_user (Company_Id, User_Id, Language) VALUES ('1', '3', 'English');
INSERT INTO Company_user (Company_Id, User_Id, Language) VALUES ('1', '3', 'German');
INSERT INTO Company_user (Company_Id, User_Id, Language) VALUES ('1', '4', 'English');
INSERT INTO Company_user (Company_Id, User_Id, Language) VALUES ('2', '5', 'German');
INSERT INTO Company_user (Company_Id, User_Id, Language) VALUES ('2', '5', 'English');
INSERT INTO Company_user (Company_Id, User_Id, Language) VALUES ('2', '6', 'Spanish');
INSERT INTO Company_user (Company_Id, User_Id, Language) VALUES ('2', '6', 'English');
INSERT INTO Company_user (Company_Id, User_Id, Language) VALUES ('2', '7', 'English');
Select company_id
From (
Select company_id, user_id, count (*)
From company_user
Where language in('English', 'German')
Group by 1,2
Having count (language)= 2
)
Group by company_id
Having count (distinct user_id) >=2
I think you can also do it using self join
Yes, there are multiple ways.