2016-02-29 7 views
12

Ciekawi mnie faza przetwarzania zapytań logicznych zapytań SQL.Faza przetwarzania zapytania logicznego INSERT, DELETE i UPDATE w zapytaniach SQL

Dla SELECT zapytaniami, logiczną kolejność faz przetwarzania zapytania to:

  1. OD
  2. NA
  3. OUTER
  4. GDZIE
  5. GROUP BY
  6. CUBE | ROLLUP
  7. BIORĄC
  8. SELECT
  9. DISTINCT
  10. BY
  11. TOP

Jaka jest kolejność na INSERT dla UPDATE i DELETE?

+6

to wciąż jest to samo, co WYBIERZ. Wyznaczone wiersze są określane przed wykonaniem jakiejkolwiek czynności. – Squirrel

+0

A więc chodzi o serwer sql-server lub mysql? – gofr1

+0

chodzi o serwer sql – Sruthy

Odpowiedz

0

SQL Server: Source

  1. OD
  2. NA
  3. DOŁĄCZ
  4. GDZIE
  5. GROUP BY
  6. WITH CUBE lub ROLLUP
  7. HAVING
  8. SELECT
  9. DISTINCT
  10. BY
  11. TOP
+0

Witaj michael .. dziękuję u za odpowiedź. Czy możesz wyjaśnić, co wstawić, zaktualizować i usunąć zapytanie .. – Sruthy

+0

@Sruthy Moje zrozumienie nie ma żadnej różnicy. Plan zapytania Select/Update/Insert/Delete nie ma żadnej różnicy oprócz ostatecznego operatora. Staram się znaleźć źródła, które poprą moją wiarę. Witam wszystkich, którzy mają dowody przeciwne jednak. –

0

Miałem to samo pytanie i nie mógł znaleźć odpowiedzi w internecie. Więc próbowałem logicznie wyprowadzić odpowiedź. Oto prosta instrukcja UPDATE (z aliasu dla tabeli):

UPDATE tbl_employees a 
    SET a.Name = 'Anna' 
    WHERE a.Id = 122; 

Oczywiście, czy SET ani gdzie można wykonać przed tabela identyfikuje, tak UPDATE musi być pierwszym logicznym krokiem. Dowód: Alias ​​a działa (w programie Microsoft Access).

Przed zastosowaniem instrukcji SET należy wiedzieć, jakie rekordy zastosować. Więc GDZIE należy przejść do drugiego logicznego kroku (pomijając GDZIE zmieniłby wszystkie rekordy w tabeli)

Stosowanie instrukcji SET na zestawie filtrów WHERE musi być trzecim krokiem.

Reasumując, logicznego układu przetwarzania musi być:

  1. Update (~ równoważne Z)
  2. GDZIE
  3. SET (~ równoważne WYBÓR)

Dowolna inna klasa wydaje się absurdem (czy można hipotetycznie myśleć o jakiejkolwiek innej kolejności?).

Po raz kolejny, jest to moje własne wywodzenie logiczne. Nie wiem na pewno. Zgłaszałbym każdy link do poważnego zasobu internetowego.

Powiązane problemy