SQL Order of Execution (Logical Explanation) | Namaste SQL | Ankit Bansal

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ธ.ค. 2024

ความคิดเห็น • 97

  • @ankitbansal6
    @ankitbansal6  ปีที่แล้ว +9

    A small correction: There was no need of multiplying by 1.0 is half salary. When we divide integer by integer then it returns integer, so 3/2 will return 1 and 2/3 will return 0. In our case all salaries are divisible by 2 so there will not be any data loss and hence *1.0 not required.
    Master the art of SQL @ Rs 1999 with my zero to hero SQL course. The course is focused on data analytics and covers all the advanced concepts starting from scratch.
    www.namastesql.com/courses/SQL-For-Analytics-6301f405e4b0238f71788354
    Some salient features of the course:
    1- No prerequisite. All concepts have been covered from absolute basics.
    2- Course contains 2 portfolio projects
    3- 100+ interview problems to crack any SQL INTERVIEW
    4- A TRUE bonus of 5000 (access to premium account to a SQL practice website).
    5- You will also be part of premium data community where you can ask any doubts.
    6- A bonus session on Tableau.
    #sql #analytics

    • @simondungeon1218
      @simondungeon1218 ปีที่แล้ว

      I am currently a MSSQL DBA, should I take this course ? Will it be beneficial for me ? Any sample video from the course ?

    • @ankitbansal6
      @ankitbansal6  ปีที่แล้ว

      @@simondungeon1218 the course will help you in your data analytics journey for sure

    • @Adityakumar-wp2mk
      @Adityakumar-wp2mk ปีที่แล้ว

      I have the course but donot have access to SQL practice website .please help me here

    • @ankitbansal6
      @ankitbansal6  ปีที่แล้ว +1

      @@Adityakumar-wp2mk check the project folder

    • @ps709
      @ps709 ปีที่แล้ว

      ​@@ankitbansal6hey the course also contains the videos that you post on TH-cam like faang interview questions and one that you posted above..order or Execution?

  • @saurabhsingh-gg6ot
    @saurabhsingh-gg6ot ปีที่แล้ว +2

    before this video ,I was memorizing these this and forgot every time. but after watching this video my all concepts has cleared . I will never forget.

  • @heamkumar9820
    @heamkumar9820 8 หลายเดือนก่อน +2

    Thanks for this amazing video, before this I was confused about why we can't use aliases with having clause. Now it's clear

  • @sapnanimbalkar1210
    @sapnanimbalkar1210 ปีที่แล้ว +1

    The Way of each and every query statement explanation just at another level... thank you!

  • @Game_Quests
    @Game_Quests หลายเดือนก่อน

    Simple and easy to understand thanks for clearing all my doubts related to order of execution ❤

  • @vivekrajput3239
    @vivekrajput3239 5 หลายเดือนก่อน

    Great explanation, thanks for sharing valuable information in a simple way...

  • @devd8965
    @devd8965 10 หลายเดือนก่อน

    I watched the video sit for kpmg and git offer. Thanks lot. Just brushedup my sql skills

    • @ankitbansal6
      @ankitbansal6  10 หลายเดือนก่อน

      Great job 👏

  • @ayyappansri
    @ayyappansri 5 หลายเดือนก่อน

    Great effort towards sharing knowledge. Great 👍

  • @satyapullarao1287
    @satyapullarao1287 หลายเดือนก่อน

    Tq bro it's sounds great

  • @kishorerb1394
    @kishorerb1394 2 หลายเดือนก่อน

    Amazing video, thanks for making it so easy to understand, all of your videos are amazing

    • @ankitbansal6
      @ankitbansal6  2 หลายเดือนก่อน

      Glad you like them!

  • @Aestheticdeeps
    @Aestheticdeeps 3 หลายเดือนก่อน

    thank you soo much sir really helpful!

    • @ankitbansal6
      @ankitbansal6  3 หลายเดือนก่อน

      Most welcome!

  • @bibhutibaibhavbora8770
    @bibhutibaibhavbora8770 ปีที่แล้ว

    All the people who's learning SQL should watch this video

  • @WayneGreen-g8l
    @WayneGreen-g8l 8 หลายเดือนก่อน

    Very nice logic. I was thinking like that, but I never explicitly stated it like that. I've subscribed to your channel. I like your approach.

  • @PettakaTechnologies
    @PettakaTechnologies 6 หลายเดือนก่อน

    Great Explanation. Appreciate you effort.

  • @ragulrahul7299
    @ragulrahul7299 7 หลายเดือนก่อน

    great lecture

  • @atharvdesai5133
    @atharvdesai5133 ปีที่แล้ว

    Real good video Ankit , helped a lot in understanding basics

  • @simondungeon1218
    @simondungeon1218 ปีที่แล้ว +1

    Learnt a lot. Hope we get more videos on Namaste SQL. This is going to be huge ❤

  • @vikaskumar-qr5tj
    @vikaskumar-qr5tj ปีที่แล้ว

    Another great explanation 🔥

  • @chetanphalak7192
    @chetanphalak7192 ปีที่แล้ว

    This is an amazing video

  • @avi8016
    @avi8016 ปีที่แล้ว

    Great explanation of concepts,
    Thanks a lot for this sir!!

  • @prikshitbatta
    @prikshitbatta ปีที่แล้ว

    Unbeatable Content😀

  • @learner817
    @learner817 6 หลายเดือนก่อน +1

    Hi @ankitbansal6 I follow your videos and learn a lot from them in terms of quick tricks to solve complex SQL problems. In this video, I have a question - why did you say "join" would run before "where" in the order of execution because in my knowledge all databases have Predicate Pushdown feature that they apply to the queries to filter out number of rows using "where" to make life easy for the "join" clause (by making less number of rows to get scanned)?
    Second question - how does "outer joins" work when there are more than 2 tables? Say table A left join table B left join table C. In this does table C get joined with table B or table A or both?

    • @ankitbansal6
      @ankitbansal6  6 หลายเดือนก่อน

      If you want to push then give your filter condition in the join clause itself. Because your filter might be based on the 2 tables getting joined . So unless they are joined you can't put a filter.
      For your second question..it depends on your join condition . In on clause which columns you join accordingly tables will join.

  • @theraizadatalks14
    @theraizadatalks14 4 หลายเดือนก่อน

    I was always having doubt, why can't the alias of aggregated column can be used with having? You've cleared this doubt. Thanks ❤

  • @Reva_Prime
    @Reva_Prime 6 หลายเดือนก่อน

    Thanks 👍🙏

  • @nikhilreddy4582
    @nikhilreddy4582 ปีที่แล้ว

    Crystal clear Ankit bro 💯 thanks for sharing your knowledge, keep going...👍

    • @ankitbansal6
      @ankitbansal6  ปีที่แล้ว

      My pleasure 😊 keep watching ✌️

  • @vikaskumar-qr5tj
    @vikaskumar-qr5tj ปีที่แล้ว

    Good one...

  • @sandipansarkar9211
    @sandipansarkar9211 ปีที่แล้ว

    finished watching

  • @swapniltiwari7848
    @swapniltiwari7848 7 หลายเดือนก่อน +1

    Hi Ankit, this was an awesome video. Just one thing, I guess you missed order of execution of window functions in this.

    • @ankitbansal6
      @ankitbansal6  7 หลายเดือนก่อน

      That comes in select so runs along with select

  • @kavitrathod2934
    @kavitrathod2934 ปีที่แล้ว

    Need more clarification on one thing, after group by, aggregation calculation should happen because we can apply filter on aggregated function using Having clause. We cannnot use alais of aggregated function in Having clause because when col is getting displayed it is giving that name. So order of execution would be where --> group by --> aggregation --> having --> select ... Is this correct ?

  • @akashvishwakarma1317
    @akashvishwakarma1317 ปีที่แล้ว

    Ankit, one que - we sometimes use 'And' just after the on condition while joining two tables, so wanted to know if 'And' executes first or 'Where' executes first?

    • @ankitbansal6
      @ankitbansal6  ปีที่แล้ว

      Check this out
      th-cam.com/video/Ypwfq5tNw-4/w-d-xo.html

  • @damoncaffrey4921
    @damoncaffrey4921 ปีที่แล้ว

    Hello Ankit Sir,
    It's been a great learning experience from your videos, thanks a lot for all the effort you put in making this content for us😇.
    I have two questions regarding the order of execution,
    1. You mentioned that GROUP BY comes before SELECT. But what about those situations, when we use GROUP BY clause on the number of the column (i.e., 1, 2, 3).
    My question is, if GROUP BY clause gets the preference then how is SQL is able to determine the order of the columns in SELECT clause.
    2. My second question is about the Subquery and nested query order of execution.

    • @ankitbansal6
      @ankitbansal6  ปีที่แล้ว

      It will just pick the column list from select but execution will be later.
      For sub query always the inner query will run first and then outer one.

    • @damoncaffrey4921
      @damoncaffrey4921 ปีที่แล้ว

      Okay, thank you so much sir.

  • @chiranjitdey3788
    @chiranjitdey3788 ปีที่แล้ว

    "I am from a non-IT background, with my major in Economics. I have worked in various job roles with different companies in the past. I'm interested in transitioning my career to become a data analyst. If I want to pursue this path, how should I proceed, and how can I become proficient in SQL, like you, sir?"

  • @Uzair_khan2890
    @Uzair_khan2890 6 หลายเดือนก่อน

    Hi Ankit, please provide the answer. Question : what is the order of excavation when window function exist in SQL Query. This question is asked in interview.

    • @ankitbansal6
      @ankitbansal6  6 หลายเดือนก่อน +1

      Along with select

    • @Uzair_khan2890
      @Uzair_khan2890 6 หลายเดือนก่อน

      @@ankitbansal6 thanks

  • @devendergusain8974
    @devendergusain8974 ปีที่แล้ว

    hello Ankit sir, could you please help me with a query, i.e., if i have to count only integers/numbers in a column which is inclusive of null value, blank, alphabets etc, if i do have to count only numbers so shall i use "= TRUE" to count or is there any other functions?

  • @jaivalsartandmore....1199
    @jaivalsartandmore....1199 9 หลายเดือนก่อน

    Hi Ankit Sir , what about DISTINCT clause ? order of execution will be same as SELECT ?

    • @ankitbansal6
      @ankitbansal6  9 หลายเดือนก่อน

      Yes, correct

  • @iamshunya23
    @iamshunya23 ปีที่แล้ว

    Very informative. Thank you.
    What happens if we use windows functions like rank, what would be the order of execution, also could you also do a video on how costly (time consuming each operation is and provide insights on topics like why CTEs are preferred over sub-queries?)

    • @ankitbansal6
      @ankitbansal6  ปีที่แล้ว

      Window functions will be executed along with select.
      Sure.

  • @Soulfulltech
    @Soulfulltech ปีที่แล้ว

    Hi Ankit. ty for the awesome videos. I have a question. In this sql query : SELECT TOP 3 * FROM dbo.emp ORDER BY salary DESC . What will be the execution plan . To me,it looks like order by is running before select. Could you please explain.

    • @ankitbansal6
      @ankitbansal6  ปีที่แล้ว

      First select then order by then top

  • @Tusharchitrakar
    @Tusharchitrakar ปีที่แล้ว

    Only one thing you missed: where do window functions come in the execution order? I tried to think like query optimiser and I'm assuming it gets applied along with select since it is a part of the statement. So it will be from, where, group by, having, select, window functions, order by, limit/top, right? Kindly confirm. Also, thanks again for the best comprehensive collection of SQL stuff on TH-cam. I'm a beginner but I feel confident to even tackle a intermediate stage interview because of your material. God bless!

    • @Tusharchitrakar
      @Tusharchitrakar ปีที่แล้ว

      Nevermind you replied in the other comments for the same question. Thanks

    • @invincible9971
      @invincible9971 ปีที่แล้ว

      I was thinking the same. Can you please tell me when the data is fetched from the table? Is it before 'from'?

    • @Tusharchitrakar
      @Tusharchitrakar ปีที่แล้ว

      @@invincible9971 it is immediately after from

  • @vimalvikashs741
    @vimalvikashs741 ปีที่แล้ว

    Hi Ankit
    I have a query, you mentioned that SELECT execution will be after GROUP BY statement. In below example, a new custom column(decade) was added using CASE in SELECT and its used in GROUP BY. At the time of GROUP BY statement execution, new column(decade) won't be available right and it should cause error. But in this case its working, i'm confused. Would you be able to explain what is happening here please? - Thank you!
    SELECT
    CASE
    WHEN years BETWEEN 2010 AND 2019 THEN '2010-2019'
    WHEN years BETWEEN 2020 AND 2029 THEN '2020-2029'
    ELSE 'Other'
    END AS decade,
    SUM(revenue) AS total_revenue
    FROM meta_revenue
    GROUP BY decade;

    • @ankitbansal6
      @ankitbansal6  ปีที่แล้ว

      I think you are not using SQL server

    • @vimalvikashs741
      @vimalvikashs741 ปีที่แล้ว

      yes, i'm using Postgressql. In postgressql order of execution is different?

    • @rushikesh6496
      @rushikesh6496 ปีที่แล้ว

      ​@@vimalvikashs741Order of execution is different in different databases. In some databases you will see group by 1,2..... works and you can write an alias name in having clause but the same is not possible in SQL Server.

  • @prajakta887
    @prajakta887 ปีที่แล้ว

    hello ankit, when will agreagation func will execute- sum (salary ) in the order of execution.
    beacsue if it execute along with select statement then select statement comes after having so how it will execute please explain ?

    • @sz6618
      @sz6618 3 หลายเดือนก่อน

      ALONG WITH SELECT

  • @greatromulus3028
    @greatromulus3028 ปีที่แล้ว

    İnstead of writing join join can be done in where clause so i am not sure whether join before to where clause or it is in the same order to where clause.

    • @Tusharchitrakar
      @Tusharchitrakar ปีที่แล้ว

      Interesting point. I think when 'join' comes in the statement, it will be coming first and then the 'where' acts on the joined table. But when we use the where command to join (for example: select * from table1, table2 where table1.id=table2.id), then the where itself is used to create the join so where will happen first.

  • @chandrabhoga2699
    @chandrabhoga2699 6 หลายเดือนก่อน

    where distinct comes? after select, right?

  • @pateldh23
    @pateldh23 ปีที่แล้ว

    Respected Sir,
    Best videos for learning SQL,
    PLEASE make video on triggers in detail but in hindi if possible please. And if possible how I send messages on WhatsApp while new record insert into sql server database table please

  • @NarasimhanSadasivam
    @NarasimhanSadasivam 9 หลายเดือนก่อน

    can you please share the data set/s please

  • @sukanyaiyer2671
    @sukanyaiyer2671 ปีที่แล้ว

    What about aggregate func...will it come after having..from ,join, where, group by,having, select,order by,top/agg func/analytical func... correct me if i am wrong

    • @ankitbansal6
      @ankitbansal6  ปีที่แล้ว

      Whatever you put in select close except top will be executed along with select

    • @sukanyaiyer2671
      @sukanyaiyer2671 ปีที่แล้ว

      @@ankitbansal6 ok

  • @subodhdooganavar2067
    @subodhdooganavar2067 ปีที่แล้ว

    Hi Sir,
    I had a small doubt some people write group by 1,2 while writing the query. How will it understand what is column 1 and 2 it is referring to as select statement is not executed yet.
    Thank you

    • @thanipattavan
      @thanipattavan ปีที่แล้ว

      It is just based on what column we mention first , second so on

  • @Arun-bk1fq
    @Arun-bk1fq ปีที่แล้ว +1

    Join is costly operation. It must execute after where clause.. could you please confirm

    • @Tusharchitrakar
      @Tusharchitrakar ปีที่แล้ว

      No logically it wouldn't make sense since the where is being performed on the combined tables and not a single table, and for combination to happen it should be join coming first before the where

  • @saurabhrana8040
    @saurabhrana8040 ปีที่แล้ว

    select name from table where salary >600 . Order of execution?

  • @JanakSuthar-c4k
    @JanakSuthar-c4k ปีที่แล้ว

    🐍 Explore the world of Python for Research Work with this amazing playlist! 📚🔬 Don't forget to hit the 'Like' button 👍 and 'Subscribe' for more awesome content! 🤩 Check it out: th-cam.com/play/PLIDulLqbs-nnr758jI13Cm5RmsOTkOk7t.html

  • @Books_Stories_Poetry
    @Books_Stories_Poetry ปีที่แล้ว

    Where should execute before join . Why join more data and then filter? Where first join next

    • @RohitSinghDY
      @RohitSinghDY ปีที่แล้ว

      Right. It it will have to join the tables first to apply the where clause

  • @NikhilSharma-lk9pj
    @NikhilSharma-lk9pj 4 หลายเดือนก่อน

    Select *,
    row_number() over(partition by dept_id order by salary desc) as rn
    from Employee
    where rn

  • @RohitSinghDY
    @RohitSinghDY ปีที่แล้ว

    What about the window functions where do they come in order of execution @ankitbansal6

    • @ankitbansal6
      @ankitbansal6  ปีที่แล้ว

      With the select clause

    • @RohitSinghDY
      @RohitSinghDY ปีที่แล้ว

      So basically when we select the columns we will select the windowed columns too and at that particular time only the function will be applied ?

    • @ankitbansal6
      @ankitbansal6  ปีที่แล้ว

      @@RohitSinghDY exactly

  • @Books_Stories_Poetry
    @Books_Stories_Poetry ปีที่แล้ว +2

    JOIN clause: If there are JOIN clauses in your query, they are executed after the filtering in the WHERE clause. JOINs are used to combine rows from different tables based on specified conditions, such as INNER JOIN, LEFT JOIN, etc.

  • @peterpace3379
    @peterpace3379 2 หลายเดือนก่อน

    Where does DISTINCT come?

    • @ankitbansal6
      @ankitbansal6  2 หลายเดือนก่อน

      After select

  • @devd8965
    @devd8965 10 หลายเดือนก่อน

    I can share my offer letter