خانه / آموزش Microsoft BI / درس پانزدهم – سایر توابع و دستورات T-SQL

درس پانزدهم – سایر توابع و دستورات T-SQL

سایر توابع و Command های مهم در T-SQL

دستور Union :

دو دسته دیتا که ساختار کاملا یکسانی را دارند به متصل میکنند.
منظور از ساختار کاملا یکسان این است که تعداد ستون ها ، نام ستون ها و دیتاتایپ ستون ها در هر دو دسته کاملا یکسان هستند.

* داخل Power BI دستور Union نداریم و به جای آن از گزینه Append استفاده میکنیم.

نحوه نگارش کوئری Union به شرح زیر است :

عکس 14:07

اگر دستور Union را استفاده کنیم ، رکورد ها را به صورت Distinct در خروجی خواهیم دید و اگر ردیف های تکراری داشته باشیم ، در Union ظاهر نخواهند شد ، برای جلوگیری از این موضوع ، میتوانیم از Union All استفاده کنیم که ردیف های Duplicate را حذف نمیکند.

 Group By :

یکی از کاربردی ترین کامند ها که در DAX و Power Bi نیز آن را داریم ، GROUP BY میباشد.

فرض کنید میخواهیم ببینیم هر مشتری مجموعا چه میزان از ما خرید کرده است ، یعنی نیاز به یک گروه بندی در انجام محاسبات داریم ، اینجا از Group By کمک میگیریم.

توجه کنید که ترتیب نوشتن در کامند های سیکوئل مهم میباشد و باید از ترتیب Where  ،  Group By و سپس Order By باید پیروی کنیم.

نحوه نوشتن کوئری GROUP BY به شکل زیر است :

عکس 29:11

میبینید که به کمک این دستور توانستیم محاسبه کنیم که هر مشتری به چه میزان از ما خرید کرده است.

دستور Having :

این دستور به ما کمک میکند بر روی Aggregation یا روی گروه بندی ای که داریم انجام میدیم ، یک شرط لحاظ کنیم. با توجه به توضیحات این کامند بعد از GROUP BY استفاده میشود.

SELECT COUNT(Productkey) AS Qnt , Color

FROM DimProduct

GROUP BY Color

HAVING COUNT(Productkey) < 10

لازم به ذکر است که WHERE روی مقادیر جمع بندی نشده کماکان کار میکند ، ولی اگر روی ستونی که بر روی آن توابع Aggregate یا تجمعی نظیر SUM ، AVG ، MIN یا MAX داریم بخواهیم شرط گذاری کنیم باید از HAVING استفاده کنیم.

دستور SELECT INTO :

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

عکس 46:21

برای مثال در کوئری بالا جدول RedProduct را ساخته و دیتای مد نظر را به آن منتقل کرده است.

اگر بخواهیم دیتا را داخل یک جدولی که وجود دارد بریزیم باید از دستور INSERT INTO استفاده کنیم.

عکس 49:30

دستور SELECT INTO همانند این است که بخواهیم یک backup از جدول مورد نظرمان بگیریم.

* اگر بخواهیم فقط Structure و ساختار یک جدول را بکاپ بگیریم بدون لحاظ کردن دیتاهای داخلش ، میتوانیم از SELECT INTO به همراه یک شرط غلط استفاده کنیم.

SELECT * INTO NewTable

FROM OldTable

WHERE 1=0

دستور CASE :

اگر بخواهیم داخل SELECT ، شرط گذاری کنیم ، میتوان از CASE استفاده کرد.

فرض کنید میخواهیم بر مبنای مقادیر فیلد Gender ، که دارای M و F است ، اگر مقدار F بود خانم  و اگر M بود آقا در ستون جدیدی به نام Jensiat لحاظ شود.

نحوه نوشتن کوئری مربوط به CASE به این شکل است :

عکس 58:33

دستور ISNULL() :

در مواجهه با مقادیر Null ممکن است با مشکلاتی رو به رو شویم و نیاز به Replace کردن Null ها با مقدار دیگری داشته باشیم. در اینجا میتوانیم از تابع ISNULL() استفاده کنیم ، در ورودی اول این تابع نام ستون و در ورودی دوم ، مقداری که میخواهیم مقادیر Null را با آن جایگزین کنیم میگذاریم.

عکس 1:08:38

 

وجود Schema در دیتابیس مزایایی دارد که از جمله آنها میتوان دسترسی آسان تر به جدول های مورد نظر اشاره کرد. برای مثال اگر کاربر نیاز به جدولی از واحد فروش داشته باشد ، میتواند تنها در میان جدول هایی جستجو کند که دارای شِمای Sale هستند.

همچنین وجود Schema یا اسکیما از لحاظ امنیتی مفید است و ادمین دیتابیس میتواند یوزر ها را محدود کند که فقط به جدول ها و اطلاعات یک سری از شِما ها دسترسی داشته باشند.

درباره‌ی علیرضا حسن نژاد

همچنین ببینید

Deploy کردن Tabular Data Model

درس بیست و نهم – Deploy کردن Tabular Data Model

Deploy کردن Tabular Data Model فرض کنید طراحی دیتا مدل به اتمام رسید. حال میخواهیم …

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

معادله امنیتی (فقط عدد بنویسید) *