SQL Interview Query for Data Analyst

Поделиться
HTML-код
  • Опубликовано: 22 дек 2024

Комментарии • 80

  • @luckykumar1665
    @luckykumar1665 2 года назад +4

    at 17:54 no need to add sr.option_marked "e" since we already have sr.option_marked = ca.correct_option condition because "e" is available in ca.correct_option table.

  • @dj_oteng
    @dj_oteng Год назад +3

    Your tips on SQL has really improved my scripting skills in my line of work. Very practical examples. Thank you for the good work

  • @deepakkumars8139
    @deepakkumars8139 2 года назад +4

    The way you are analysing the problem 💯 💯🔥

  • @nagaprasadreddy5029
    @nagaprasadreddy5029 2 года назад +1

    It can't be better than this. No words!

  • @hyderali1252
    @hyderali1252 2 года назад +5

    Toufiq bro ...........very thanks to you for making this format of video which is even understood well by beginners also. keep updating us in this way...we don't even need to join in any other classes....😜

  • @VishalSingh-xf3bh
    @VishalSingh-xf3bh Год назад

    The way you have explained the concept is solutable boss thanks for the video

  • @rajkumarrajan8059
    @rajkumarrajan8059 Год назад

    You are my virtual master in learning SQL.
    You are AMAZING my dear friend!! Thanks a lot

    • @techTFQ
      @techTFQ  Год назад

      You're welcome . Glad it helped

  • @namanmehta8692
    @namanmehta8692 Год назад +1

    Bhai hats off for the patience and pace you took to solve this problem. Really man🎉 impressive

  • @vishalsonawane.8905
    @vishalsonawane.8905 2 года назад +8

    Your video content always it's like new gift for all learners 🏆❣️😍

  • @luckykumar1665
    @luckykumar1665 2 года назад

    At 26:34, we can assume ((math_correct * 1) - (math_wrong * 0.25) ) as math_Score.

  • @minhmuic
    @minhmuic Год назад +3

    thank, what i learn from your youtube channel is greater than 4 year in college which i need to pay around 50.000 usd for tuition fee :(

  • @avi8016
    @avi8016 2 года назад +1

    Detailed process and explanation
    Thanks a lot sir!

  • @harichandrajaiswal8804
    @harichandrajaiswal8804 2 года назад

    I am glad that... This problem is shared with all the people.. U helped me out of this. Thank you so much 🙏 🙏

  • @sungkeum1286
    @sungkeum1286 2 года назад +1

    Thank you for sharing knowledge as always, Thoufiq.

  • @prathameshjoshi1408
    @prathameshjoshi1408 Год назад

    This was really an informative video. Thank you so much

  • @kevinboodhoo5833
    @kevinboodhoo5833 Год назад

    with cteScore
    as (
    select r.roll_number
    , r.question_paper_code
    , sum(case when r.option_marked = c.correct_option then 1 else 0 end) as correct
    , sum(case when r.option_marked not in ('e') and r.option_marked c.correct_option then 1 else 0 end) as wrong
    , sum(case when r.option_marked = 'e' then 1 else 0 end) as yet_learn
    from student_response as r
    inner join correct_answers as c on r.question_paper_code = c.question_paper_code
    and r.question_number = c.question_number
    group by r.roll_number, r.question_paper_code
    )
    , cteTotalScore
    as (
    select s.roll_number
    , q.[subject]
    , s.correct
    , s.wrong
    , s.yet_learn
    from cteScore as s
    inner join question_paper_code as q on s.question_paper_code = q.paper_code
    )
    , cteCorrect
    as (
    select roll_number, [Math], [Science]
    from (
    select roll_number, [subject], correct
    from cteTotalScore
    ) as s
    pivot
    (
    max(correct) for [subject] in ([Math],[Science])
    ) as x
    )
    , cteWrong
    as (
    select roll_number, [Math], [Science]
    from (
    select roll_number, [subject], wrong
    from cteTotalScore
    ) as s
    pivot
    (
    max(wrong) for [subject] in ([Math],[Science])
    ) as x
    )
    , cteYetLearn
    as (
    select roll_number, [Math], [Science]
    from (
    select roll_number, [subject], yet_learn
    from cteTotalScore
    ) as s
    pivot
    (
    max(yet_learn) for [subject] in ([Math],[Science])
    ) as x
    )
    select c.Roll_number
    , s.Student_name
    , s.Class
    , s.Section
    , s.School_name
    , c.Math as Math_correct
    , w.Math as Math_wrong
    , l.Math as Math_yet_to_learn
    , c.Math as Math_score
    , cast((c.Math*100.00/(c.Math+w.Math+l.Math)) as decimal(19,2)) as Math_percentage
    , c.Science as Science_correct
    , w.Science as Science_wrong
    , l.Science as Science_yet_learn
    , c.Science as Science_score
    , cast((c.Science*100.00/(c.Science+w.Science+l.Science)) as decimal(19,2)) as Science_percentage
    from cteCorrect as c
    inner join cteWrong as w on c.roll_number = w.roll_number
    inner join cteYetLearn as l on c.roll_number = l.roll_number
    inner join student_list as s on c.roll_number = s.roll_number
    --where c.roll_number in (10159,10114, 10215, 10052,10201)
    order by roll_number;

  • @mohammedvahid5099
    @mohammedvahid5099 Год назад

    well explained sir thnk u so mch its very usefull to me with realtime scenarios...

  • @kalheer
    @kalheer 2 года назад

    Awesome clarification - ive not used “cte” before.. makes life easier 👍🏻👍🏻

  • @rameshsanipayavlogs8339
    @rameshsanipayavlogs8339 2 года назад +1

    Super thoufiq

  • @lxrvii
    @lxrvii 2 года назад +1

    Well tackled Sir, thank you.

  • @sakeenasammi1768
    @sakeenasammi1768 2 года назад

    Beautifully explained thanks toufik , keep it up😃💥

  • @Kishor-ai
    @Kishor-ai Год назад

    Thanks for making this video @techTFQ ❤

  • @rohitsethi5696
    @rohitsethi5696 Год назад

    create table student_list
    (
    roll_number int,
    student_name varchar(50),
    class int,
    section varchar(2),
    school_name varchar(40)
    )
    create table correct_answer
    ( question_paper_code int ,
    question_number int,
    correct_option varchar(1)
    )
    create table student_response
    (
    roll_number int,
    question_paper_code int,
    question_number int,
    option_marked varchar(1)
    )
    create table question_paper_code
    ( paper_code int ,
    class int,
    Subject varchar(10)
    )
    use etl to store data from excel file

  • @aman_mashetty5185
    @aman_mashetty5185 2 года назад

    Awesome...! always love to watch your video thank for sharing the knowledge....

  • @sabaabrha7167
    @sabaabrha7167 Год назад

    Thank you and God bless you.

    • @blank0227
      @blank0227 Год назад

      do know the application this guy using, sorry Im really new here

  • @prabhusagarmohapatra8610
    @prabhusagarmohapatra8610 Год назад

    Wow 😳 excellent

  • @luckykumar1665
    @luckykumar1665 2 года назад

    Thank you for wonderful question.

  • @gau123rav1
    @gau123rav1 2 года назад

    Very informative,
    Thank you

  • @rameshsanipayavlogs8339
    @rameshsanipayavlogs8339 2 года назад

    Urs explanation really very very clear

  • @prashansapunjabi
    @prashansapunjabi 2 года назад

    Great explanation! Thank you

  • @NomanKhan1886
    @NomanKhan1886 2 года назад

    Your videos are the best !

  • @riteshchandrave6502
    @riteshchandrave6502 Год назад

    Thanks and very useful

  • @nikhilavemuri955
    @nikhilavemuri955 2 года назад +1

    awesome, waiting to join your live SQL training sir. Please let me know when next batch will be started.

  • @sairaj8375
    @sairaj8375 10 месяцев назад

    very helpful sir

  • @obedrajugantala3489
    @obedrajugantala3489 2 года назад +1

    Thanks. Very nice video. Is there a way to download/import the tables and data you have so that I can employ and practice?

  • @raitup00
    @raitup00 2 года назад

    Love your videos

  • @suprithjain719
    @suprithjain719 2 года назад

    Good explanation Boss

  • @ajaykumargaudo6685
    @ajaykumargaudo6685 2 года назад

    Superb👌👌

  • @meenayegan6634
    @meenayegan6634 2 года назад

    Wonderful Video...

  • @shankhaneeldutta4617
    @shankhaneeldutta4617 2 года назад

    SUPERB !

  • @vineethmenon2372
    @vineethmenon2372 Год назад

    Fantastic......................

    • @techTFQ
      @techTFQ  Год назад

      Thank you! Cheers!

  • @sunilkumar-uo8so
    @sunilkumar-uo8so Год назад

    Hi dear
    Could you please guide me to import data in SQL server from file.
    Thankyou for this wonderful video.

  • @adityasasmal
    @adityasasmal Год назад

    nice one

  • @SankarJankoti
    @SankarJankoti 2 года назад

    Great content , Do you have any union and union all complex queries video?

  • @deepshah2137
    @deepshah2137 2 года назад

    Amazing!!!

  • @moek7644
    @moek7644 2 года назад +1

    Hey! This was an amazing video. I followed all the steps and everything worked out fine. Just to practice more, I tried to IMPORT the RESULTS that came out of the queries that you ran but I was receiving an error. "ERROR: extra data after last expected column
    CONTEXT: COPY final_interview_result_query, line 2: "10159,Ada,8,A,Google Public School,4,28,8,4,10,11,38,11,11,18.33". For your Next Video, Can you film how to import end results back to PostGreSql? Maybe, with different datasets. Thank you

  • @prajaktawagh2626
    @prajaktawagh2626 2 года назад

    Please make vedio on regular expression ..

  • @rajeswarikapuluru3989
    @rajeswarikapuluru3989 2 года назад

    Sir, please make the video on OUTPUT clause

  • @shubhamagrawal7068
    @shubhamagrawal7068 Год назад

    We can solve it without using cte as well .Here is my solution (MySQL) : -
    SELECT
    sr.roll_no,
    sl.student_name,
    sl.class,
    sl.section,
    SUM(CASE WHEN subject = 'Math' AND option_marked = correct_option THEN 1 ELSE 0 END) AS math_correct,
    SUM(CASE WHEN subject = 'Math' AND option_marked != correct_option AND option_marked != 'e' THEN 1 ELSE 0 END) AS math_wrong,
    SUM(CASE WHEN subject = 'Math' AND option_marked = 'e' THEN 1 ELSE 0 END) AS math_yet_to_learn,
    SUM(CASE WHEN subject = 'Math' AND option_marked = correct_option THEN 1 ELSE 0 END) AS math_score,
    ROUND(SUM(CASE WHEN subject = 'Math' AND option_marked = correct_option THEN 1 ELSE 0 END) * 100 / SUM(IF(subject = 'Math', 1, 0)),2) AS math_percentage,
    SUM(CASE WHEN subject = 'Science' AND option_marked = correct_option THEN 1 ELSE 0 END) AS science_correct,
    SUM(CASE WHEN subject = 'Science' AND option_marked != correct_option AND option_marked != 'e' THEN 1 ELSE 0 END) AS science_wrong,
    SUM(CASE WHEN subject = 'Science' AND option_marked = 'e' THEN 1 ELSE 0 END) AS science_yet_to_learn,
    SUM(CASE WHEN subject = 'Science' AND option_marked = correct_option THEN 1 ELSE 0 END) AS science_score,
    ROUND(SUM(CASE WHEN subject = 'Science' AND option_marked = correct_option THEN 1 ELSE 0 END) * 100 / SUM(IF(subject = 'Science', 1, 0)),2) AS science_percentage
    FROM student_response AS sr
    INNER JOIN correct_answer AS ca ON sr.question_paper_code = ca.question_paper_code AND sr.question_number = ca.question_number
    INNER JOIN student_list AS sl ON sr.roll_no = sl.roll_no
    INNER JOIN question_paper_code AS qpc ON sr.question_paper_code = qpc.paper_code
    GROUP BY 1,2,3,4

  • @ashwanikumarkaushik2531
    @ashwanikumarkaushik2531 Год назад

    Not able to restore the csv files in postgres .

  • @shivsharma9153
    @shivsharma9153 2 года назад

    Sorry I am digressing a bit but a quick question, please?
    I am currently analysing an employees layoff dataset available on kaggle. It has 1574 records and 9 columns, one of the columns name "Total_laid_off" (how many employees were laid off from the organisation,datatype: Int), it has 442 records with missing values. what should I do in this case to treat the missing values? should I replace them with median value or shall I drop missing values from the dataset?
    I have a similar question for another column name "percentage of employees laid off" (percentage of employees fired out of the total workforce). in this case, also shall I replace 552 missing values with the median percentage value?
    What could be the best course of action?
    I personally thought I should replace the missing values with median values because dropping so many rows would result in a good amount of loss of information.

    • @luckykumar1665
      @luckykumar1665 2 года назад

      is not there any way to derive the required missing data from other available columns?
      median can't justify the actual scenarios of the layoff.

    • @shivsharma9153
      @shivsharma9153 2 года назад

      @@luckykumar1665 not possible practically to find lay off numbers for 400+ rows😅. So shall I drop those rows then?

  • @manikhandanj5681
    @manikhandanj5681 2 года назад

    Can you tell me whether should include tableau or EDA in pandas jupyter projects in my resume

  • @poojahr5670
    @poojahr5670 Год назад

    Not able to import csv file in to Pg admin. Always getting the error could not open file for reading, permission denied.

  • @muditkaushal4645
    @muditkaushal4645 7 месяцев назад

    can you please upload this ques once again coz its not showing now after downloding

  • @j.vinodkumarkumar3683
    @j.vinodkumarkumar3683 2 года назад

    Hi all...how to get math_percent and science_percent in SQL server...I am getting zero for all records

  • @riddhimachakraborty9538
    @riddhimachakraborty9538 Год назад

    Such queries are asked to beginners as well? And that too for internship?

  • @anilgandamala2444
    @anilgandamala2444 Год назад

    Hlo sir I need information well which type of skills needed to become a SQL developer

  • @AtulSingh-be1jk
    @AtulSingh-be1jk 2 года назад

    Hi..
    Suppose,i have a table 'A' with five child table namely 'B','C','D','E','F'.
    Now,i like to delete the records of 'A' directly without deleting the child table one by one.
    Here,the problem is that out of those five child tables one or more can have also child tables.So,it is very difficult to go one by one and delete the all child tables followed by parent table.
    Also,there is possibilities of adding one or more child table to any of those tables described above in later point of time.In that case my query which is developed at this moment will not work and i would get error of ''INTEGRITY CONSTRAINT VIOLATION''.
    Also,there is no provision of ''on delete cascade'' as per our available data model and
    also it can't be modified right now.
    So,please kindly help me to resolve the issue of deleting parent record without deleting the immediate child tables one by one and also the associated child tables of the immediate child tables if any one by one.

    • @swathi3086
      @swathi3086 Год назад

      @atul Singh In a similar situation, I had used on delete cascade but I understand you couldn't use it.
      How did you do it ?

  • @yogitasable4336
    @yogitasable4336 2 года назад

    Hello sir , can you please make video on data migration using paython . I can easily understand whatever you teach .

  • @swetasuman4498
    @swetasuman4498 2 года назад

    create statements r missing

  • @Jitendrawagh20
    @Jitendrawagh20 2 года назад

    How get data analytics job or internship as fresher because I am learning now python, SQL, completed

  • @blank0227
    @blank0227 Год назад

    can anyone tell what the application this guy using, I'm new here so I want to know

  • @venkateshkoya1985
    @venkateshkoya1985 2 года назад

    How to run 10 SQL scripts using single script or a command line ?

  • @shahrzadalizadeh
    @shahrzadalizadeh 2 года назад

    Hi Thoufiq,
    I really appreciate the effort you put into this video, thank you.
    I think there is something wrong with the following paragraph on your blog:
    COUNT:
    Whereas the below query will return the maximum salary for each department in the employee table:
    SELECT dept_id, COUNT(emp_id) as no_of_emp_per_dept
    FROM employee
    GROUP BY dept_id;
    I think you mean query will return number of employees in each dep not the maximum salary.

  • @anudeepreddy5559
    @anudeepreddy5559 11 месяцев назад

    ❤ 🔥

  • @muazmalik1696
    @muazmalik1696 2 года назад

    how can i share my query with you

  • @adarshkashyap7402
    @adarshkashyap7402 5 месяцев назад

    Is this is fresher interview question

  • @NaveenKumar-ig6gn
    @NaveenKumar-ig6gn 2 года назад

    Hi bro , i don't know whether this comment will reach to you or not... But hope it will reach.. Can you please explain Piza delivery status query...?? Recently in KPMG test i got this question and unable to find answer for this... And which logic we can use for it... Please make one video on this

    • @bhaktisagar4418
      @bhaktisagar4418 Год назад

      Can you please share the question along with the given data ?

  • @rajkumarrajan8059
    @rajkumarrajan8059 Год назад

    with Student_with_marks as (
    select
    sr.roll_number as Roll_number,
    sr.question_number as Question_number,
    sr.option_marked as marked_Option,
    sr.question_paper_code as Question_paper_code,
    qpc.class as class,
    qpc.subject as Subject
    from [dbo].[student_response] sr
    join question_paper_code qpc on qpc.paper_code=sr.question_paper_code
    ),
    include_correct_answers as (
    Select
    qpc.subject,
    ca.question_number,
    ca.question_paper_code,
    ca.correct_option
    from
    correct_answer ca
    join question_paper_code qpc on qpc.paper_code=ca.question_paper_code
    )
    select
    swm.Roll_number,
    sl.student_name,
    sl.school_name,
    sl.class,
    sl.section,
    count(case when swm.marked_Option=ica.correct_option and swm.Subject = 'Math' then 1 else null end) as Math_correct,
    count(case when swm.marked_Optionica.correct_option and swm.Subject = 'Math' then 1 else null end) -
    count (case when swm.marked_Option='e' and swm.Subject = 'Math' then 1 else null end) as Math_Incorrect,
    count (case when swm.marked_Option='e' and swm.Subject = 'Math' then 1 else null end) as Math_yet_to_learn,
    convert(decimal(10,2),100*count(case when swm.marked_Option=ica.correct_option and swm.Subject = 'Math' then 1 else null end) /
    (count(case when swm.marked_Option=ica.correct_option and swm.Subject = 'Math' then 1 else null end) +
    count(case when swm.marked_Optionica.correct_option and swm.Subject = 'Math' then 1 else null end)+
    count (case when swm.marked_Option='e' and swm.Subject = 'Math' then 1 else null end) )) as Mat_percent,
    count(case when swm.marked_Option=ica.correct_option and swm.Subject = 'Science' then 1 else null end) as Science_correct,
    count(case when swm.marked_Optionica.correct_option and swm.Subject = 'Science' then 1 else null end) -
    count(case when swm.marked_Option='e' and swm.Subject = 'Science' then 1 else null end) as Science_Incorrect,
    count(case when swm.marked_Option='e' and swm.Subject = 'Science' then 1 else null end) as Science_yet_to_learn,
    convert(decimal(10,2), 100*count(case when swm.marked_Option=ica.correct_option and swm.Subject = 'Science' then 1 else null end) /
    (
    count(case when swm.marked_Option=ica.correct_option and swm.Subject = 'Science' then 1 else null end)
    +count(case when swm.marked_Optionica.correct_option and swm.Subject = 'Science' then 1 else null end)
    +count(case when swm.marked_Option='e' and swm.Subject = 'Science' then 1 else null end)
    )) as Science_Percent
    from Student_with_marks swm
    join include_correct_answers ica on swm.question_paper_code=ica.question_paper_code and swm.question_number=ica.question_number
    join student_list sl on sl.roll_number=swm.roll_number
    group by swm.Roll_number, sl.student_name,sl.school_name,sl.class,sl.section
    I tried the above problem using SQL Server.
    Thank you
    I have learnt SQL by watching and practicing your video, you are very helpful
    keep posting such amazing videos

  • @pishankumarshahu2305
    @pishankumarshahu2305 Год назад

    SELECT sl.roll_number, student_name, sl.class, section, school_name, SUM(CASE WHEN option_marked = correct_option AND subject = 'math' THEN 1 ELSE 0 END) AS math_correct,
    SUM(CASE WHEN option_marked correct_option AND option_marked 'E' AND subject = 'math' THEN 1 ELSE 0 END) AS mathwrong, SUM(CASE WHEN option_marked = 'E' AND subject = 'math' THEN 1 ELSE 0 END)
    AS math_yet, SUM(CASE WHEN option_marked = correct_option AND subject = 'math' THEN 1 ELSE 0 END) AS math_score, CAST((SUM(CASE WHEN option_marked = correct_option AND subject = 'math' THEN 1.0 ELSE 0 END)
    * 100) / (SUM(CASE WHEN option_marked = correct_option AND subject = 'math' THEN 1.0 ELSE 0 END) + SUM(CASE WHEN option_marked correct_option AND option_marked 'E' AND subject = 'math' THEN 1 ELSE 0 END)
    + SUM(CASE WHEN option_marked = 'E' AND subject = 'math' THEN 1.0 ELSE 0 END)) AS numeric(10, 2)) AS Math_percent, SUM(CASE WHEN option_marked = correct_option AND subject = 'Science' THEN 1 ELSE 0 END)
    AS SCI_correct, SUM(CASE WHEN option_marked correct_option AND option_marked 'E' AND subject = 'Science' THEN 1 ELSE 0 END) AS Sciwrong, SUM(CASE WHEN option_marked = 'E' AND
    subject = 'Science' THEN 1 ELSE 0 END) AS SCI_yet, SUM(CASE WHEN option_marked = correct_option AND subject = 'Science' THEN 1 ELSE 0 END) AS SCI_score, CAST((SUM(CASE WHEN option_marked = correct_option AND
    subject = 'Science' THEN 1 ELSE 0 END) * 100) / (SUM(CASE WHEN option_marked = correct_option AND subject = 'Science' THEN 1 ELSE 0 END) + SUM(CASE WHEN option_marked correct_option AND
    option_marked 'E' AND subject = 'Science' THEN 1 ELSE 0 END) + SUM(CASE WHEN option_marked = 'E' AND subject = 'Science' THEN 1 ELSE 0 END)) AS numeric(10, 2)) AS SCI_percent
    FROM [#student_list] AS sl INNER JOIN
    [#student_response] AS sr ON sl.roll_number = sr.roll_number INNER JOIN
    [#correct_answer] AS ca ON sr.question_number = ca.question_number AND ca.question_number = sr.question_number INNER JOIN
    [#question_paper_code] AS qpc ON qpc.paper_code = ca.question_paper_code AND qpc.class = sl.class AND qpc.paper_code = sr.question_paper_code
    GROUP BY sl.roll_number, student_name, sl.class, section, school_name
    ORDER BY sl.roll_number

  • @pulkitjain2361
    @pulkitjain2361 2 года назад +1

    Great explanation, thanks!