دستورات SQL ورق تقلب

دستورات SQL ورق تقلب

SQL زبان پرس و جو ساختار یافته است. این برنامه به طور خاص برای مدیریت و دستیابی به داده هایی که در پایگاه های داده های رابطه نگهداری می شوند ، ایجاد شده است. اولین سرمایه گذاری تجاری برای استفاده از SQL ، اوراکل بود که هنوز زبان پرس و جو SQL * Plus خود را به عنوان پایه و اساس کلیه سیستم مدیریت پایگاه داده رابط خود (RDMS) قرار داده است..

امروزه MySQL ، SQL Server ، SAP و Sybase از SQL برای دسترسی به پایگاه داده استفاده می کنند. در این راهنما نسخه استانداردی از دستورات SQL را به شما می دهیم ، با توجه ویژه به اجرای اوراکل در SQL * Plus.

انتخاب EDITOR: ما به ابزارهای مدیریت زیرساخت SolarWinds توصیه می کنیم تا بر همه ابزارهای Microsoft ، از جمله SQL Server نظارت داشته باشید. شما به مجموعه ای از ابزارهای نظارتی نیاز دارید که می توانند به منظور پوشش کلیه امکاناتی که از پایگاه داده رابط شما پشتیبانی می کنند ، در تعامل باشند.

بانکهای اطلاعاتی رابطه ای

SQL مدیریت می کند پایگاه داده های رابطه ای. یک بانک اطلاعاتی رابطه ای شامل جداول است که برای کاهش تکرار داده ها از هم جدا می شوند. فرایند تصمیم گیری در مورد گروه بندی مناسب دسته بندی داده ها "عادی سازی."در بعضی موارد ، تقاضای عملکرد ممکن است دیکته کند که جداول کار اگر به طور کامل عادی نشوند بهتر عمل می کنند. این فرآیند "ناهنجاری" خوانده می شود و یک اتفاق نادر است.

هر جدول به ستونی احتیاج دارد که هر ردیف را به طور اختصاصی مشخص کند. به این "کلید اصلی.جداول دیگری که می توانند به آن نهاد ملحق شوند باید در هر رکورد شامل کلید اصلی باشند. این مرجع "" نامیده می شودکلید خارجی." شما پیوستن جداول با هماهنگ کردن کلید خارجی در یک جدول با کلید اصلی در دیگری جداول. این عمل با SQL انجام می شود. نمودار تصمیم گیری برای رابطه با هویت ، وقتی تصمیم می گیرید که چگونه ساختار SQL خود را تنظیم کنید ، یک مرجع مفید است.

به منظور سرعت بخشیدن به دسترسی ، طبیعی است که آن را قرار دهید فهرست مطالب در هر کلید اصلی در پایگاه داده. همچنین می توان برای ایجاد جداول مجازی ، که به آنها "نمایش ها."

یک شیء دیگر از پایگاه داده است ماشه. این یک تکه SQL است که هر وقت مقدار به ستون اضافه شود یا تغییر کند ، پرتاب می شود. یک محرک مقادیر را در یک ستون در یک جدول متفاوت یا ستون های دیگر در همان جدول به روز می کند. این اتفاق می افتد اگر مقداری در ستونی که ماشه در آن قرار دارد اضافه یا تغییر داده شود. همچنین می تواند مقادیری را که می توان در یک ستون وارد کرد محدود کند.

DQL ، DDL ، DCL و DML

SQL شامل چهار زیر مجموعه فرمان است. اینها هستند زبان پرس و جو داده ها (DQL), زبان توصیف داده ها (DDL), زبان کنترل داده ها (DCL) ، و زبان دستکاری داده ها (DML).

در بیشتر پروژه ها ، مدیر پایگاه داده (DBA) تنها عضو تیم است که امتیاز استفاده از آن را دارد DDL. این گروه فرمان جداول ، فهرستها ، محرک ها و نماهای ایجاد ، تغییر و رها می کند.

DML برای اضافه کردن ، تغییر یا حذف سوابق از جداول در پایگاه داده استفاده می شود. دسترسی به این توابع SQL معمولاً محدود به پشتیبانی کارمندان یا اعضای ارشد ، مسئول جامعه جامعه کاربر می باشد.

DQL استفاده برای تولید گزارش از پایگاه داده است. این زیر مجموعه فرمان توسط برنامه نویسان استفاده می شود و همچنین برای کاربران نهایی قابل تهیه است تا بتوانند نمایش داده های خود را انجام دهند.

مدیریت امتیازات کاربر در همان پایگاه داده با داده ها ذخیره می شود. با این حال ، دسترسی به این جداول معمولاً محدود به DBA است. مدیریت دسترسی کاربر همه از طریق اجرا شده است DCL.

یک دستور SQL مفید وجود دارد که در طبقه بندی های DQL ، DDL ، DCL یا DML قرار نمی گیرد. این هست "توصیف کردن"که معمولاً به عنوان اجرا می شود DESC. این ساختار یک شیء را در پایگاه داده نشان می دهد. در صورت جدول ، لیستی از ستون ها و داده و اندازه هر یک را نشان می دهد. SQL را که نمای یا ماشه ایجاد کرده است نشان می دهد و ستون هایی را نشان می دهد که در یک فهرست مشخص نقش دارند.

اپراتورهای ارتباطی

تئوری پایگاه داده های رابطه ای توسط این تعریف شد E. F. Codd در تعریف Codd ، نیاز به یک ابزار پرس و جو است که باید هشت عملیات اساسی رابطه ای را پیاده سازی کند. اینها هستند:

  1. انتخاب کنید
  2. پروژه
  3. پیوستن
  4. تولید - محصول
  5. اتحاد. اتصال
  6. INTERSECT
  7. تفاوت
  8. تقسیم

برای دسترسی موثر به داده ها از یک پایگاه داده رابطه ، باید بر هر یک از این عملیات ها تسلط داشته باشید. اینها در زیر توضیح داده شده است.

انتخاب کنید

ابتدا SELECT نامیده می شد رستوران. این توانایی استخراج یک رکورد یا گروهی از سوابق منطبق از جدول در پایگاه داده است. و همچنین عملیاتی نظری است, انتخاب کنید نام اصلی در اجرای SQL است. در حقیقت ، تمام بازیابی داده ها با SELECT انجام می شود. این فرمان به قدری قدرتمند است که از بسیاری جهات قابل تغییر است. بسیاری از SQL هایی که شما باید یاد بگیرید "بند" در بیانیه SELECT هستند.

پروژه

پروژه توانایی جداسازی ستون (یا "ویژگی") در یک جدول است. این همیشه با بیانیه SELECT پیاده سازی می شود.

پیوستن

عضویت جداول با یک ویژگی مشترک. شما از کلید خارجی در یک جدول برای مطابقت با مقادیر اصلی کلید در جدول دیگر استفاده می کنید. این عمل به طور موقت دو جدول را به طور موقت متحد می کند. این به عنوان بند در بیانیه SELECT اجرا شده است. پیوستگی بین دو جدول به طور خودکار تمام سوابق موجود در هر دو جدول پشتیبان را ترک نمی کند. "پیوستن بیرونی"سوابقی را نشان می دهد که در جدول دیگر مطابقت ندارد. زمینه هایی را که باید توسط جدول دیگر تهی شده باشد نشان می دهد..

تولید - محصول

محصول همچنین به عنوان "بار."این به عنوان عبارت SELECT اجرا شده است که داده ها را از دو جدول ترسیم می کند ، اما پیوستگی بین آنها را مشخص نمی کند. در زندگی واقعی دلایل عملی بسیار اندکی وجود دارد که باعث می شود کسی تا به حال دو بار در دو جدول بازی کند. معمولاً یک علامت هشدار دهنده است که شما یک بند مشترک را نادرست نوشتید. نتیجه یک محصول این است که هر یک از رکورد های واجد شرایط در یک جدول با هر رکورد دار در جدول دیگر مطابقت دارد. بنابراین ، اگر یک عبارت SELECT از دو جدول ایجاد کنید که هر کدام ده رکورد دارند ، نتایج در کل 100 رکورد خواهد بود.

اتحاد. اتصال

UNION در تئوری مجموعه یک عامل مشترک است. اگر دو مجموعه دارید ، اتحادیه اعضای اصلی هر دو مجموعه را تشکیل می دهد. تکثیر از نتایج حذف می شود. در SQL ، این توسط پیاده سازی شده است یا اپراتور بولی.

INTERSECT

INTERSECT اپراتور اصلی دیگر نظریه مجموعه است. اگر دو مجموعه دارید ، تقاطع موضوعاتی را توصیف می کند که عضو هر دو مجموعه هستند. هر موضوعی که عضو یکی از این دو مجموعه باشد ، از نتایج مستثنی نیست. در SQL ، این توسط پیاده سازی شده است و اپراتور بولی.

تفاوت

تفاوت همچنین به عنوان "منهای"و در نماد گذاری با علامت منفی نمایش داده می شود (" - "). روش های مختلفی برای پیاده سازی تفاوت وجود دارد. با ایجاد یک بولی می توان ایجاد کرد نه در معیارهای انتخاب و همچنین می تواند توسط الف اجرا شود منهای اپراتور به دنبال یک خرده فروشی.

تقسیم

DIVIDE عملیاتی غیرمعمول است که مانند PRODUCT کاربردهای عملی بسیار کمی دارد. كد DIVIDE را آزمايش اسيدي براي هر يك از سيستم هاي رابطه اي و ابزار پرس و جوي آن مي داند ، بنابراين اجراي SQL شامل اين توانايي فقط براي كسب عنوان "رابطه" است. در واقع ، شما هرگز از آن استفاده نمي كنيد. اجرای DIVIDE به مجموعه ای از مواد زیر مجموعه ای احتیاج دارد منهای در Oracle SQL * Plus و آن جز اپراتور در برخی دیگر از پیاده سازی های SQL مانند SQL Server و PostgreSQL.

اپراتورهای بولی

جورج بول یک ریاضیدان انگلیسی بود که در سال 1864 درگذشت. او جبر بولی را اختراع كرد ، كه هیچ كاربرد عملی نداشت تا زمانی كه زمینه های انفورماتیک و پایگاه داده های رابطه ای در اواخر قرن 20 پدیدار شد. جبر بولی برای عملکردهای SQL اساسی است - فقط می توانید اساسی ترین سؤال SQL را بدون استفاده از منطق بولی بنویسید. منطق بولی همچنین شامل همه موتورهای جستجو است. اپراتورهای کلیدی Boolean در SQL عبارتند از:

  • و
  • یا
  • نه

یکی دیگر از عجیب و غریب ویکتوریا بریتانیا که شما باید در مورد آن بدانید آگوستوس د مورگان است. او مشاهده ای را در مورد تحول در تئوری مجموعه بولی انجام داد كه از آن باید هر برنامه نویس SQL آگاه شود. این است که یک NOT می تواند چگونگی عملکرد AND و OR را تغییر دهد. نسخه کوتاه این است که شما باید مراقب باشید که چگونه از براکت ها در بیانیه های خود استفاده می کنید تا از عواقب ناخواسته خودداری کنید. بنابراین "و" و "یا" نیز باید به عنوان مهمترین عامل بولی در SQL در نظر گرفته شوند.

و

و پیاده سازی می کند INTERSECT در تئوری مجموعه اگر می خواهید سوابق را از یک پایگاه داده خارج کنید که فقط با دو مورد مطابقت داشته باشد و فقط یکی از این معیارهای کامپوزیت نباشد ، باید از AND استفاده کنید. به عنوان مثال ، شما ممکن است یک کار بذر را اداره کنید و بانک اطلاعاتی شما حاوی جدول است که تمام دانه های شما را با ویژگی های آنها ذخیره می کند. مشتری با begonias زرد تماس می گیرد و می خواهد. بنابراین ، شما می توانید پایگاه داده خود را جستجو کنید گونه = "بگونیا" و رنگ = "زرد" برای تهیه کاتالوگ بذر مناسب.

یا

OR به شما اعضای دو مجموعه می دهد - این اتحادیه در تئوری مجموعه است. بنابراین ، در پایگاه داده بذر خود ، اگر پرس و جو کردید: گونه = "بگونیا" یا رنگ = "زرد", شما نتایجی به دست می آورید که شامل گل رز زرد ، بگونیا زرد ، بگونیا صورتی و زعفران زرد است. در این مثال ، begonias زرد دو بار واجد شرایط است. در تئوری رابطه فقط باید یک پرونده ثبت شود. خوشبختانه ، SQL صلاحیت را شامل می شود متمایز, بنابراین با وارد کردن انتخاب گزینه * از گل ها که در آن گونه ها = "بگونیا" یا رنگ = "زرد", که ضبط بگونیا زرد فقط یک بار ظاهر می شود.

نه

درک آسان نیست. این نتایج را نتیجه گیری نمی کند که جمله زیر منجر شود: و نه ، یا نه. در عمل ، تقریباً هرگز از "OR NOT" در پرس و جو استفاده نمی کنید. اگر مشتری بذر شما رنگ دیگری از بگونیا به غیر از رنگ زرد می خواست ، استفاده می کنید گونه = "بگونیا" و نه رنگ = "زرد" برای انتخاب محصولات برای ارائه.

براکت ها

مطابق قانون د مورگان:

"نفی یک اختلال ، پیوند مذاکرات است. و نفی یک پیوستگی اختلاف منفی است ".

به زبان انگلیسی ساده ، از جمله براکت ها در عبارت SQL خود به دقت استفاده کنید تا از تبدیل ANDs به OR یا برعکس جلوگیری کنید. شرایط Bracketing در کنار هم می تواند معیارهای انتخاب شما را کوتاه کند. مثلا, NOT (گونه = "begonia" و رنگ = "زرد") مثل این هست که نه گونه = "بگونیا" یا رنگی "زرد".

سوابق استخراج

پیاده سازی های مختلف SQL از نحو متفاوتی استفاده می کنند ، اما در این راهنما SQL * Plus Oracle را دنبال خواهیم کرد. ساختار اصلی انتخاب داده SQL عبارت است از:

انتخاب کنید
از جانب

جایی که

این لیستی از مقادیر یک ستون در یک جدول به شما می دهد. این است پروژه عملیات رابطه ای تعریف شده توسط Codd.

می توانید ستون ها را به SELECT اضافه کنید یا از اپراتور wildcard استفاده کنید ("*") برای دریافت همه ستون های موجود در جدول:

انتخاب کنید *
از جانب

جایی که

این کدگذاری شده است انتخاب کنید عملیات رابطه ای. بدون جایی که بند ، شما هر رکورد در جدول را بدست می آورید.

چند ستون توسط کاما از هم جدا می شوند (","):

انتخاب ستون 1 ، ستون 2 ، ستون7
از جانب

جایی که

جایی که بند سوابق خاص را انتخاب می کند. این مهمترین هدف از اپراتورهای بولی است:

SELECT seed_num، seed_desc
از دانه ها
گونه ها = "بگونیا" و رنگ = "زرد"

در این مثال ها متوجه خواهید شد که نقل قول ها را در زیر نام ستون ها قرار نمی دهید ، بلکه مقدار مقادیر ستون را به نقل قول ها می گذارید. اگر نقل قول ها را در اطراف مقادیر فراموش کنید ، DBMS انتظار دارد که این کلمات اسم ستون ها باشد. بنابراین در سؤال فوق ، بدون نقل قول ، خطایی را به شما می گویید که به شما گفته می شود که هیچ بگونیا و ستون های زرد در جدول وجود ندارد.

جداول پیوستن

کار اصلی در نمایش داده های SQL در پیوستن جداول به یکدیگر است. ترفندهای بسیاری وجود دارد که می توانید با استفاده از سؤالات زیر عمل کنید ، اما در صورت اشتباه پیوستن ، درخواست شما همیشه نتایج نادرست را برمی گرداند.

بهترین راهنمای شما برای پیوستن است نمودار ارتباطات شخصیتی. تنها چیزی که برای ایجاد پیوستن به آن نیاز دارید ، شامل بیش از یک جدول در جدول است از جانب بند SELECT را انتخاب کنید و حتما ستونهای پیوند دهنده را در قسمت مشخص کنید جایی که عبارت. آگاه باشید که برخی از جداول ممکن است از همان ستونها استفاده کنند. برای جلوگیری از سردرگمی ، بهتر است هر جدول را در قسمت a قرار دهید نام مستعار بنابراین می توانید منبع ستون هایی را که در عبارت SELECT به آنها اشاره می کنید ، شناسایی کنید:

SELECT a.seed_num ، a.seed_desc ، b.supplier_name
از بذور الف ، تأمین کنندگان ب
كجا a.species = "بگونيا" و a.color = "زرد"
AND b.supplier_ID = a.supplier_ID

در مثال بالا, provider_ID کلید اصلی در جدول تأمین کنندگان است و فیلد با همین نام کلید خارجی جدول بذر است که به جدول مناسب در جدول تأمین کنندگان پیوند دارد..

اگرچه از لحاظ فنی امکان استفاده از OR برای اتصال وجود دارد ، استفاده از AND معمولی است. از OR ها فقط برای معیارهای انتخاب استفاده کنید و نه برای ایجاد پیوستن.

سوالات

می توانید از انتخاب کنید بیانیه به عنوان منبع اطلاعات اصلی انتخاب کنید و همچنین می توانید به چند نفر بپیوندید انتخاب کنید اظهارات همراه با اپراتورها ، مانند منهای. این موارد از درخواستهای اضافی که در یک عبارت اصلی SELECT هستند ارائه می شوند "خرده فروشی ها."هنگام ایجاد یک خرده زیر ، کلمه کلیدی که در می تواند بسیار مفید باشد.

به عنوان مثال ، اگر فقط می خواهید begonias زرد را از تأمین کنندگان اتحادیه اروپا بدست آورید ، می توانید لیستی از ارزش ها را با آن ایجاد کنید که در مانند:

SELECT a.seed_num ، a.seed_desc ، b.supplier_name
از بذور الف ، تأمین کنندگان ب
كجا a.species = "بگونيا" و a.color = "زرد"
AND b.supplier_ID = a.supplier_ID
AND b.supplier_country IN ("UK" ، "فرانسه" ، "آلمان" ...)

لیست این کشورها در اتحادیه اروپا به 28 ارزش می رسد و شما باید همه آنها را تایپ کنید - "..." در مثال فقط برای مختصر بودن است. در این مثال ، شما مجبور خواهید بود که همه سؤالات خود را مجدداً بررسی کنید و هر زمان که یک کشور عضو اتحادیه اروپا شود یا از آن خارج شود ، لیستی از ارزشها را تغییر دهد. ایجاد جدول کشورهای عضو اتحادیه اروپا و مراجعه به آن کارآمدتر است. سپس فقط با تغییر ترکیب اتحادیه اروپا ، باید سوابق را در یک جدول اضافه یا حذف کنید.

در این سناریو می توانید یک جدول با عنوان EU_countries با فیلد country_ID به عنوان کلید اصلی و یک ستون countryname * ایجاد کنید. سپس می توانید برای ایجاد لیست کشورهای عضو اتحادیه اروپا یک فرعی ایجاد کنید:

SELECT a.seed_num ، a.seed_desc ، b.supplier_name
از بذور الف ، تأمین کنندگان ب
كجا a.species = "بگونيا" و a.color = "زرد"
AND b.supplier_ID = a.supplier_ID
AND b.supplier_country IN (نام کشور SELECT از EU_countries)

ایجاد یک سری پرس و جوهای تو در تو امکان پذیر است و برخی از عملکردهای SQL حداقل به دو عبارت SELECT نیاز دارند. به عنوان مثال ، اگر می خواستید تأمین کننده بذر غیر اتحادیه اروپا بدست آورید ، می توانید از MINUS استفاده کنید:

SELECT a.seed_num ، a.seed_desc ، b.supplier_name
از بذور الف ، تأمین کنندگان ب
كجا a.species = "بگونيا" و a.color = "زرد"
AND b.supplier_ID = a.supplier_ID
منهای
SELECT c.seed_num ، c.seed_desc ، d.supplier_name
FROM دانه c ، تأمین کنندگان d ، EU_countries e
WHERE d.supplier_country_ID = e.country_ID
AND b.supplier_ID = a.supplier_ID

در مثال بالا ، query دوم سوابق به مراتب بیشتر از مورد اول را برمی گرداند. با این حال ، هیچ یک از نتایج حاصل از آن پرس و جو در خروجی ظاهر نمی شود. هر نتیجه ای در پرس و جو اصلی که مطابق با نتایج پرس و جو دوم باشد از لیست خروجی حذف می شود.

دسته بندی بر اساس

می توانید SQL را برای جمع آوری داده ها در طی پردازش یک پرس و جو دریافت کنید. دسته بندی بر اساس بند به شما امکان می دهد تا آمار گروه های سوابق را محاسبه کنید. مثلا:

گزينه هاي گزينه SELECT (1) را انتخاب كنيد
از دانه ها
گروه با گونه ها

در این مثال می توانید یک عملکرد را مشاهده کنید, شمردن. این به یک ستون به عنوان یک پارامتر نیاز دارد ، اما می توانید در عوض ، به جای آن یک نشانه بدهید, 1.  این مثال همچنین نشان می دهد که می توانید نام های ستونی را نام مستعار بدهید. در خط اول گل کاما بین گونه ها و گل وجود ندارد انتخاب کنید. DBMS این کلمه دوم را به عنوان نام ستون برای نمایش در خروجی تفسیر خواهد کرد. در برخی از پیاده سازی های SQL ، این مستعار باید به نقل قول باشد و در برخی دیگر باید با کلید واژه مشخص شود مانند:

گزينه ها را به عنوان "گل" انتخاب كنيد ، (1) "نمونه ها" را بشماريد
از دانه ها
گروه با گونه ها

اگر از عملکردهایی در پرس و جو خود استفاده می کنید قرار دادن یک اسم معنی دار در یک ستون از اهمیت ویژه ای برخوردار است.

عبارت بالا لیست جداگانه ای از نام گونه ها را از جدول بذر در اختیار شما قرار می دهد و شماری از تمام سوابق موجود در جدول را که دارای هر ارزش هستند به شما می دهد..

سفارش توسط

شما می توانید ترتیب خروجی نتایج را با آن مشخص کنید سفارش توسط عبارت. این مقدار به صورت پیش فرض مقادیر صعودی را نشان می دهد ، اما می توانید برای نمایش سوابق به ترتیب نزولی نیز تعیین کنید.

گزینش گونه ها را انتخاب کنید
از دانه ها
سفارش گونه ها DESC

اگر چندین ستون در خروجی خود دارید ، می توانید نام های دیگری را در قسمت سفارش انتخاب کنید. در اکثر پیاده سازی های SQL ، نیازی نیست که نام ستون را در بند ORDER BY تایپ کنید ، بلکه فقط عدد موقعیت ستون را در عوض ، مانند سفارش 2 وقتی می خواهید ستون دوم در خروجی ترتیب نمایش را نشان دهد.

در این مثال شما می بینید متمایز گزینه در انتخاب کنید, که همان اثر a را دارد دسته بندی بر اساس. اما اگر توابع جمع کننده را به SELECT اضافه کنید ، باید از آن استفاده کنید دسته بندی بر اساس بجای متمایز.

توابع SQL

قبلاً عملکرد COUNT را مشاهده کرده اید. بسیاری از کارکردهای دیگر در کلیه پیاده سازی های SQL موجود است. اینها ، به طور دقیق SQL نیستند ، بلکه ابزارهای اضافی دیگری هستند که توسط سازنده نسخه SQL اضافه شده است. عملکردهای آماری مانند میانگین ، جمع ، حداکثر و حداقل برای همه طعم های SQL مشترک است.

مکانیسم های کنترل جریان ، که به عنوان اگرشن در حالی که حلقه ها در SQL وجود ندارند. با این حال ، انتخاب شرطی می تواند از طریق عملکردهای مختلفی انجام شود.

ورق تقلب Comparitech SQL

لیست طولانی گزینه هایی وجود دارد که می توانید جمله SELECT را در آن قرار دهید. این راهنما فقط ساختار اصلی عبارت SELECT را که اصلی ترین ابزار SQL است ، پوشش داده است زبان پرس و جو داده ها. شما می توانید یک لیست جامع را در صفحه تقلب مقایسه (PDF) مشاهده کنید. این برگه همچنین شامل دستورات استانداردی است که برای زبان توصیف داده SQL ، زبان کنترل داده ها و زبان دستکاری داده ها استفاده می شود.

Brayan Jackson
Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me

About the author

Leave a Reply

Your email address will not be published. Required fields are marked *

− 2 = 1

Adblock
detector