SQL یک زبان غیر رویه‌ای (non procedural) می‌باشد. یعنی از طریق SQL انجام Query و تغییرات در بانک‌های اطلاعاتی انجام می‌شود بدون این که کاربر چگونگی انجام کار را برای SQL مشخص نماید. 
در SQL امکان تعریف تابع، شرط و حلقه وجود ندارد. برای حل این مشکل، Oracle از بسط یافتن زبان SQL به نام PL/SQL استفاده می‌کند. 

در نگاه کلی به SQL، دستورات آن به ۵ گروه زیر تقسیم می‌شوند: 

  1. (Data Manipulate Language (DML: برای جستجو و یا تغییر داده‌ها
  2. (Data Definition Language (DDL: برای تعریف ساختار بانک‌اطلاعاتی
  3. (Data Control Language (DCL: برای تعریف سطح دسترسی کاربران به بانک‌اطلاعاتی
  4. (Data Query Language (DQL: برای بازیابی اطلاعات
  5. (Transaction Control Language (TCL: برای کنترل تراکنش‌ها


دستورات DML به 4 دسته زیر تقسیم می شوند:

  1. Insert: افزودن رکوردهای جدید به یک جدول
  2. Update: تغییر رکوردهای موجود یک جدول
  3. Delete: حذف رکوردهای موجود یک جدول
  4. Merge: درج رکورد جدید و یا تغییر رکوردهای موجود