SQL:1999 (که SQL 3 نیز نام دارد) چهارمین ویرایش زبان پرس و جو(query) پایگاه داده SQL است. خیلی از ویژگی های جدید را معرفی کرد که بسیاری از آنها نیاز به توضیح در SQL:2003 داشتند. در این لحظه،[نیازمند شفافسازی] SQL:1999 منسوخ شده است
اسناد استاندارد ISO بین سالهای 1999 و 2002 در چندین قسمت منتشر شد که اولین قسمت خود شامل چندین بخش بود. بر خلاف نسخه های قبلی، برای سازگاری با نام سایر استانداردهای ISO،نام استاندارد ان به جای خط فاصله (-)از دو نقطه استفاده می کند. اولین قسمت SQL:1999 دارای پنج بخش بود:
سه بخش دیگر که همچنین بخشی از SQL:1999 در نظر گرفته می شوند بعد از ان منتشر شدند:
استاندارد SQL:1999 نوع داده Boolean را استفاده میکند [۱]، اما بسیاری از سرورهای تجاری اس کیو ال (Oracle Database, IBM Db2) آن را بهعنوان نوع داده برای یک ستون یا نوع متغیر پشتیبانی نمیکنند یا آن را در مجموعه نتایج مجاز نمیدانند. Microsoft SQL Server یکی از معدود سیستم های پایگاه داده است که با استفاده از داده "BIT" خود از مقادیر BOOLEAN به درستی پشتیبانی می کند . هر فیلد 1 تا 8 بیت، یک بایت کامل از فضای دیسک را اشغال می کند. MySQL بولین(Boolean) را مترادف TINYINT (اعداد علامت دار 8 بیتی) در نظر میگیرد[۲]. PostgreSQL نوع Boolean را مطابق با استاندارد ارائه می دهد.[۳]
گاهی اوقات آنها را فقط انواع متمایز(distinct types) می نامند، اینها به عنوان یک ویژگی اختیاری (S011) معرفی شدند تا به انواع اتمی موجود اجازه گسترش با معنای متمایز بدهند تا یک نوع داده جدید ایجاد شود و در نتیجه مکانیزم بررسی نوع داده قادر می سازد تا برخی از خطاهای منطقی را شناسایی کند، به عنوان مثال. اضافه کردن تصادفی سن به حقوق مثلا:
;create type age as integer FINAL ;create type salary as integer FINAL
دو نوع داده متفاوت و ناسازگار ایجاد می کند. انواع متمایز SQL از معادل اسمی استفاده می کنند نه معادل ساختاری مانند typedefs در زبان C. هنوز هم می توان عملیات سازگار بر روی (ستون ها یا داده ها) انواع متمایز (distinct types)با استفاده از یک نوع صریح CAST انجام داد.
تعداد کمی از سیستم های SQL از این موارد پشتیبانی می کنند. IBM Db2یکی از سیستم هایی است که از آن پشتیبانی می کند. [۴]پایگاه داده Oracle از سال 2012 از آن دیگر پشتیبانی نمی کند و در عوض توصیه می کند که آنها را با یک داده ساختاری تقلید کنید[۵].
اینها ستون اصلی افزونه پایگاه داده شی-رابطه ای در SQL:1999 هستند. اینها مشابه کلاس ها در زبان های برنامه نویسی شی گرا هستند. در SQL:1999 تنها اجازه ارث بردن تکی(single inheritance.)را داریم.
SQL:1999 یک ساختار WITH [RECURSIVE] اضافه کرد که به پرس و جوهای بازگشتی، مانند بسته شدن غیر مستقیم، اجازه می دهد در خود query مشخص شوند.عبارات رایج جدول. را ببینید.
GROUP BY با ROLLUP، CUBE و GROUPING SETS گسترش یافت.
SQL:1999 کلمه کلیدی UNNEST را معرفی کرد[۶].