زبان پرسوجوی شیگرا (OQL)
زبان پرسوجوی شیگرا (OQL) یک استاندارد برای پایگاههای داده شیگرا است که بر اساس الگوی SQL طراحی شده و توسط گروه مدیریت دادههای شیگرا (ODMG) توسعه یافته است. به دلیل پیچیدگی بالا، استاندارد کامل OQL تاکنون در هیچ نرمافزاری بهطور کامل پیادهسازی نشده است.
این زبان بر طراحی زبانهای پرسوجوی بعدی مانند JDOQL و EJB QL تأثیرگذار بوده، اما هیچکدام به عنوان نسخهای از OQL محسوب نمیشوند.
قواعد کلی
- همه دستورات کامل باید با نقطهویرگول (;) خاتمه یابند.
- لیست ورودیها معمولاً با کاما (,) جدا میشوند، اما با کاما خاتمه نمییابند.
- رشتههای متنی باید داخل گیومه (« ») قرار گیرند.
نمونهها
پرسوجوی ساده
مثال زیر نشان میدهد چگونه میتوان سرعت CPU تمام کامپیوترهای شخصی با رم بیش از 64 مگابایت را از یک پایگاه داده فرضی بازیابی کرد:
SELECT pc.cpuspeed
FROM PCs pc
WHERE pc.ram > 64;
پرسوجو با گروهبندی و تجمیع
مثال زیر متوسط مقدار رم کامپیوترهای شخصی را بر اساس تولیدکننده نشان میدهد:
SELECT manufacturer, AVG(SELECT part.pc.ram FROM partition part)
FROM PCs pc
GROUP BY manufacturer: pc.manufacturer;
توجه داشته باشید که از کلمه کلیدی partition به جای تجمیع در SQL سنتی استفاده شده است.