تقنية تصور LuckyTemplates: تعرف على كيفية إنشاء لوحات تصميم الخلفية
تعرف على تقنية تصور LuckyTemplates هذه حتى تتمكن من إنشاء قوالب الخلفية واستيرادها إلى تقارير LuckyTemplates الخاصة بك.
بصفتك مبرمجًا أو محلل بيانات ، ستجد نفسك غالبًا تعمل بكميات كبيرة من البيانات. واحدة من أقوى الأدوات المتاحة لك هي SQL (لغة الاستعلام الهيكلية).
تمنحك ورقة الغش في SQL هذه كائنات وأوامر SQL الأكثر شيوعًا ، بما في ذلك أنواع البيانات وعبارات DML و DDL والوظائف المجمعة ووظائف السلسلة والتاريخ والاستعلامات الفرعية.
تم تصميمه ليكون مرجعًا سريعًا وسهل الاستخدام يمكنك الوصول إليه عندما تتفاعل مع قاعدة بيانات علائقية.
إذا كنت مثلنا وترغب في تنزيل وطباعة أو تخزين ورقة الغش على جهاز الكمبيوتر الخاص بك ، فيمكنك تنزيلها أدناه.
جدول المحتويات
أنواع بيانات SQL
يمكن أن تختلف أنواع البيانات لأنظمة إدارة قواعد بيانات معينة (مثل Microsoft SQL Server مقابل MySQL ). ومع ذلك ، هناك العديد من الموجودة في معظم الأنظمة. يمكنك تقسيم هذه إلى ثلاث فئات:
رقمي
التاريخ و الوقت
خيط
1. أنواع رقمية
هذه هي أكثر أنواع الأرقام شيوعًا:
العدد الصحيح : عدد صحيح بدون فاصلة عشرية.
SMALLINT : نطاق أصغر من الأعداد الصحيحة
BIGINT : نطاق أكبر من الأعداد الصحيحة.
DECIMAL (p، s) or NUMERIC (p، s) : على سبيل المثال ، الرقم العشري (5،2) يناسب 123.45.
حقيقي : رقم فاصلة عائمة ، بدقة لا تقل عن 6 أرقام عشرية.
FLOAT (n) : رقم فاصلة عائمة بدقة لا تقل عن n من الأرقام.
2. أنواع التاريخ والوقت
DATE : قيمة تاريخ ، تكون عادةً بالتنسيق "YYYY-MM-DD".
TIME : قيمة الوقت ، وعادة ما تكون بالتنسيق "HH: MM: SS".
DATETIME أو TIMESTAMP : مجموعة من قيم التاريخ والوقت.
3. أنواع السلاسل
CHAR (n) : سلسلة ذات طول ثابت تتكون من عدد n من الأحرف.
VARCHAR (n) أو CHARACTER VARYING (n) : سلسلة متغيرة الطول.
نص : سلسلة متغيرة الطول مع حد أقصى للطول يحدده نظام إدارة قواعد البيانات.
عبارة SELECT
يتم استخدام عبارة SELECT لاسترداد البيانات من جدول واحد أو أكثر. يمكنك تحديد الأعمدة التي تريد استردادها ومن أي جدول. تبدو عبارة SELECT الأساسية كما يلي:
SELECT column1, column2
FROM table;
لاسترداد جميع السجلات من العمودين "name" و "country_id" من جدول "المدينة" ، يبدو استعلام SQL كما يلي:
SELECT name, country_id
FROM city;
حيث الشرطية
تسمح لك جملة WHERE بتصفية نتائج عبارة SELECT بناءً على شروط محددة.
SELECT column1, column2
FROM table
WHERE condition;
لاسترداد السجلات من جدول "المدينة" حيث يكون "عدد السكان" أكبر من 1000000 ، يبدو الاستعلام كما يلي:
SELECT name, population
FROM city
WHERE population > 1000000;
عبارة ORDER BY
تسمح لك جملة ORDER BY بفرز نتائج جملة SELECT بعمود واحد أو أكثر. يمكنك فرز النتائج بترتيب تصاعدي (ASC) أو تنازلي (DESC):
SELECT column1, column2
FROM table
ORDER BY column1 ASC, column2 DESC;
على سبيل المثال ، لاسترداد السجلات من جدول "المدينة" مرتبة حسب "السكان" بترتيب تنازلي ، يبدو استعلامك كما يلي:
SELECT name, population
FROM city
ORDER BY population DESC;
ربط جداول متعددة في SQL
هناك أربعة صلات شائعة الاستخدام في SQL:
صلة داخلية
الانضمام إلى اليسار
الحق في الانضمام
انضمام كامل
1. INNER JOIN
يسترد INNER JOIN السجلات التي لها قيم متطابقة في كلا الجدولين.
لنأخذ مثالاً على قاعدة بيانات للفنانين والألبومات ، وتريد أن تجد كل مجموعات الفنانين والألبومات. هذا هو INNER JOIN:
SELECT *
FROM artists AS a
INNER JOIN albums AS b
ON a.artist_id = b.artist_id;
باستخدام INNER JOIN ، سيتم إرجاع الصفوف ذات القيم المتطابقة في الحقول المحددة فقط في النتائج.
2. LEFT JOIN
يُعرف LEFT JOIN أيضًا باسم LEFT OUTER JOIN. تقوم بإرجاع كافة السجلات من الجدول الأيسر والسجلات المتطابقة من الجدول الأيمن. إذا لم يكن هناك تطابق في الجدول الأيمن ، فستحتوي النتيجة على قيم NULL.
على سبيل المثال ، للحصول على قائمة بجميع الفنانين وألبوماتهم (إذا كان لديهم أي منها) ، يمكنك استخدام LEFT JOIN:
SELECT *
FROM artists AS a
LEFT JOIN albums AS b
ON a.artist_id = b.artist_id;
سيعيد هذا الاستعلام جميع الفنانين ، حتى إذا لم يكن لديهم أي ألبومات مرتبطة بهم في جدول الألبومات.
3. حق الانضمام
يُعرف RIGHT JOIN أيضًا باسم RIGHT OUTER JOIN. تقوم بإرجاع كافة السجلات من الجدول الأيمن والسجلات المتطابقة من الجدول الأيسر. إذا لم يكن هناك تطابق في الجدول الأيسر ، فستحتوي النتيجة على قيم NULL.
على سبيل المثال ، للحصول على معلومات حول جميع الألبومات والفنانين المرتبطين بها (إذا كانوا موجودين) ، يمكنك استخدام RIGHT JOIN:
SELECT *
FROM artists AS a
RIGHT JOIN albums AS b
ON a.artist_id = b.artist_id;
سيعرض هذا الاستعلام جميع الألبومات ، حتى إذا لم يكن لديهم فنانين مرتبطين في جدول الفنانين.
4. الانضمام الكامل
يُعرف الانضمام الكامل أيضًا باسم الانضمام الكامل إلى الخارج. فهو يجمع بين نتائج كل من الصلات اليمنى واليسرى. بمعنى آخر ، تقوم بإرجاع كافة الصفوف من الجدولين الأيمن والأيسر وتعبئ القيم المفقودة بالقيم الفارغة عندما لا يكون هناك تطابق.
إليك مثال على استخدام جداول الفنانين والألبومات:
SELECT *
FROM artists AS a
FULL JOIN albums AS b
ON a.artist_id = b.artist_id;
يقوم هذا الاستعلام بإرجاع كافة الصفوف من كلا الجدولين ، وملء القيم الخالية حيث لا يوجد تطابق في أي من الجدولين.
وظائف SQL التجميعية
تُستخدم الدالات التجميعية لحساب نتيجة واحدة من مجموعة من قيم الإدخال. يطلق عليهم اسم "مجمع" لأنهم يأخذون مدخلات متعددة ويعيدون ناتجًا واحدًا. الأكثر شيوعًا هي:
عدد
مجموع
AVG
الأعلى
دقيقة
1. وظيفة العد
تتيح لك الدالة COUNT حساب عدد الصفوف في نتيجة الاستعلام. يمكنك استخدام هذه الدالة التجميعية لتحديد العدد الإجمالي للسجلات في جدول أو عدد السجلات التي تطابق معايير معينة.
هذا مثال:
SELECT COUNT(*) FROM employees;
سيعيد هذا الاستعلام إجمالي عدد الموظفين في جدول "الموظفين". ضع في اعتبارك أن إضافة عبارة WHERE يمكنها تحسين نتائجك:
SELECT COUNT(*) FROM employees WHERE department = 'HR';
2. وظيفة SUM
تحسب الدالة SUM المجموع الإجمالي لعمود رقمي. إنه مفيد عندما تحتاج إلى حساب القيمة الإجمالية لحقل رقمي معين. على سبيل المثال ، يُرجع هذا الاستعلام المجموع الإجمالي لجميع رواتب الموظفين:
SELECT SUM(salary) FROM employees;
3. وظيفة AVG
تحسب الدالة AVG متوسط قيمة عمود رقمي. هذه الوظيفة مفيدة عندما تريد العثور على متوسط حقل رقمي معين. على سبيل المثال ، يعرض هذا الاستعلام متوسط الراتب لجميع الموظفين:
SELECT AVG(salary) FROM employees;
4. MAX وظيفة
تعثر الدالة MAX على الحد الأقصى لقيمة العمود. يُستخدم هذا غالبًا للبحث عن أعلى قيمة في حقل رقمي أو أحدث تاريخ في حقل التاريخ والوقت. على سبيل المثال ، يُرجع هذا الاستعلام أعلى راتب:
SELECT MAX(salary) FROM employees;
5. دقيقة وظيفة
أخيرًا ، تساعدك الدالة MIN في العثور على الحد الأدنى لقيمة العمود. على سبيل المثال ، يُرجع هذا الاستعلام أقل راتب:
SELECT MIN(salary) FROM employees;
Remember, you can use WHERE clauses in these queries and JOIN with multiple tables.
Common String Functions
Here are the most common string functions that are found in most SQL dialects (the exact syntax can vary):
LEN or LENGTH(string): Returns the length of a string.
UPPER(string): Converts a string to upper case.
LOWER(string): Converts a string to lower case.
SUBSTR or SUBSTRING(string, start, length): Extracts a portion from a string.
TRIM(string): Removes leading and trailing spaces from a string.
LTRIM(string): Removes leading spaces from a string.
RTRIM(string): Removes trailing spaces from a string.
Common Numeric Functions
Here are the most common numeric functions that are found in most SQL dialects (the exact syntax can vary):
ABS(number): Returns the absolute value of a number.
ROUND(number, decimal_places): Rounds a number to a certain number of decimal places.
FLOOR(number): Rounds down the number to the nearest integer.
CEIL or CEILING(number): Rounds up the number to the nearest integer.
RAND(): Returns a random float value from 0 to 1.
MOD(n, m): Returns the remainder of n divided by m.
POWER(base, exponent): Raises a number to the power of another number.
LOG(number): Returns the natural logarithm of a number.
Common Date Functions
Here are the most common date functions that are found in most SQL dialects (the exact syntax can vary):
NOW(): Returns the current date and time.
DATE(datetime): Extracts the date part of a date or datetime expression.
TIME(datetime): Extracts the time part of a date or datetime expression.
YEAR(date): Returns the year part.
MONTH(date): Returns the month part.
DAY(date): Returns the day of the month part.
HOUR(time): Returns the hour part from a time.
MINUTE(time): Returns the minute part from a time.
SECOND(time): Returns the second part from a time.
GROUP BY And HAVING
When working with SQL queries, you may want to further summarize and filter your aggregated data. The GROUP BY and HAVING clauses provide this functionality.
1. Group By Clause
The GROUP BY clause allows you to group rows that share the same values in specified columns. It is commonly used with aggregate functions. This is the syntax:
SELECT column1, column2, aggregate_function(column3)
FROM table_name
WHERE condition
GROUP BY column1, column2;
For example, if you want to calculate the total sales amount for each product category, this is the query:
SELECT product_category, SUM(sales_amount)
FROM sales_data
GROUP BY product_category;
TIP: Combining GROUP BY and COUNT is a good way of finding duplicate values.
2. Having Clause
If you want to filter the aggregated results further, you can use the HAVING clause. The syntax is:
SELECT column1, column2, aggregate_function(column3)
FROM table_name
WHERE condition
GROUP BY column1, column2
HAVING condition;
If you want to find product categories with total sales of more than $1,000,000, you would write:
SELECT product_category, SUM(sales_amount)
FROM sales_data
GROUP BY product_category
HAVING SUM(sales_amount) > 1000000;
Quick Tips
Always use the GROUP BY clause before the HAVING clause.
The SELECT statement can only contain specified column names, aggregate functions, constants, and expressions.
When using the HAVING clause, filter conditions should be applied to the aggregate functions rather than directly to the grouped columns.
By understanding and properly applying the GROUP BY and HAVING clauses, you can better organize and analyze your data using SQL.
Subqueries
A subquery is also known as an inner or nested query. This is a query embedded within another SQL statement (such as a SELECT statement) or even inside another subquery.
Subqueries allow you to retrieve data based on the output of another query. The most common operators used with subqueries are:
IN
EXISTS
ANY
ALL
1. IN Operator
The IN operator tests if a value is within a set of values generated by the inner query. The syntax for using the IN operator with a subquery is as follows:
SELECT column_name(s)
FROM table_name
WHERE column_name IN (SELECT column_name FROM other_table);
This returns rows from the outer query where the specified column value matches any of the values provided by the subquery.
Suppose you have an employee table and a departments table. You want to find employees who work in departments based at the head office. Here is a sample query
SELECT first_name, last_name
FROM employee
WHERE department IN (SELECT department FROM departments
WHERE location = "HQ");
For a more in-depth look, check out our article on the SQL WHERE IN syntax.
2. EXISTS Operator
The EXISTS operator checks if there is at least one row resulting from the subquery. You can use the EXISTS operator to filter rows based on the existence of related data in another table. This is the syntax:
SELECT column_name(s)
FROM table_name
WHERE EXISTS (SELECT column_name FROM other_table WHERE condition);
When the subquery returns at least one row, the EXISTS operator returns true, and the relevant rows from the outer query are included in the result.
3. ANY Operator
The ANY operator is used to compare a value to any value in a set of values provided by a subquery. It’s commonly used with comparison operators like =, <, >, <=, or >=.
This is the syntax:
SELECT column_name(s)
FROM table_name
WHERE column_name operator ANY (SELECT column_name FROM other_table WHERE condition);
This will return rows from the outer query where the specified column value meets the condition against any value from the subquery.
4. ALL Operator
The ALL operator compares a value to all values within a set of values provided by a subquery. The conditions must be true for every value in the subquery’s result. This is the syntax:
SELECT column_name(s)
FROM table_name
WHERE column_name operator ALL (SELECT column_name FROM other_table WHERE condition);
This returns rows from the outer query only if the specified column value satisfies the condition against all values in the subquery’s output.
Data Manipulation (DML)
لغة معالجة البيانات (DML) هي لغة فرعية داخل SQL لإدارة البيانات وتحديثها. العبارات الأكثر شيوعًا هي:
إدراج
تحديث
يمسح
1. أدخل بيان
تسمح لك عبارة INSERT بإدراج صفوف في جدول. إليك البنية الأساسية:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
على سبيل المثال ، إذا كنت تريد إدراج صف جديد في جدول "المستخدمين" بأعمدة "المعرف" و "الاسم" و "البريد الإلكتروني" ، فيمكنك استخدام الاستعلام التالي:
INSERT INTO users (id, name, email)
VALUES (1, 'John Doe', '[email protected]');
2. بيان التحديث
تسمح لك عبارة UPDATE بتعديل بيانات الصف الموجودة في جدول. هذا هو بناء الجملة:
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
على سبيل المثال ، إذا كنت تريد تحديث عنوان البريد الإلكتروني لمستخدم بالمعرف "1" في جدول "المستخدمين" ، فسيبدو استعلامك كما يلي:
UPDATE users
SET email = '[email protected]'
WHERE id = 1;
تلميح : تذكر تضمين جملة WHERE لتجنب تحديث جميع الصفوف في الجدول عن طريق الخطأ.
3. حذف البيان
تسمح لك عبارة DELETE بإزالة الصفوف من الجدول. ها هي البنية:
DELETE FROM table_name
WHERE condition;
على سبيل المثال ، إذا كنت تريد حذف مستخدم بالمعرف "1" من جدول "المستخدمين" ، فسيبدو استعلامك كما يلي:
DELETE FROM users
WHERE id = 1;
تلميح : قم دائمًا بتضمين عبارة WHERE لتحديد الصفوف المراد حذفها ولتجنب حذف جميع الصفوف في الجدول.
إدارة قواعد البيانات مع DDL
لغة تعريف البيانات (DDL) هي لغة SQL الفرعية المستخدمة لإنشاء وتعديل الجداول وقاعدة البيانات نفسها. عبارات DDL الأكثر شيوعًا هي:
يخلق
تغيير
يسقط
1. إنشاء بيان
تسمح لك عبارة CREATE بإنشاء كائنات قاعدة بيانات جديدة ، مثل جداول أو طرق عرض أو فهارس جديدة. عند إنشاء جدول جديد ، تحتاج إلى تحديد الأعمدة وأنواع بياناتها وأي قيود.
فيما يلي مثال على إنشاء جدول الطلبات:
CREATE TABLE orders (
id INTEGER PRIMARY KEY,
product VARCHAR(255) NOT NULL,
customer_id INT NOT NULL
);
تلميح: اختر أنواع البيانات والقيود المناسبة لضمان تكامل البيانات في جداولك.
للحصول على نظرة أكثر تفصيلاً ، راجع مقالتنا حول عمليات جدول SQL الأساسية .
2. تعديل البيان
تساعدك عبارة ALTER على تعديل كائنات قاعدة البيانات الموجودة. تشمل الاستخدامات الشائعة ما يلي:
إضافة أو تعديل أو إسقاط الأعمدة.
إضافة أو إزالة القيود من جدول موجود.
إضافة المفاتيح الأساسية والخارجية.
أضف عمودًا جديدًا
ALTER TABLE users ADD COLUMN age INTEGER;
تعديل نوع بيانات العمود
ALTER TABLE users ALTER COLUMN age TYPE FLOAT;
إسقاط عمود
ALTER TABLE users DROP COLUMN age;
أضف قيدًا فريدًا
ALTER TABLE users ADD CONSTRAINT users_email_unique UNIQUE(email);
أضف مفتاحًا خارجيًا بين الجداول
ALTER TABLE users ADD FOREIGN KEY (country_id) REFERENCES Country(country_id);
3. بيان DROP
تسمح لك عبارة DROP بإزالة كائنات قاعدة البيانات مثل الجداول أو طرق العرض أو الفهارس. استخدمه بحذر ، لأنه سيؤدي إلى حذف الكائن المحدد وجميع بياناته بشكل دائم.
هذا مثال:
DROP TABLE users;
نصيحة : تأكد من وجود نسخ احتياطية مناسبة قبل تنفيذ جملة DROP.
إذا كنت تريد معرفة المزيد حول نمذجة البيانات ، فراجع هذا الفيديو:
المعاملات
تلعب المعاملات دورًا مهمًا في الحفاظ على تكامل قاعدة البيانات ، خاصةً عند تنفيذ العديد من العمليات ذات الصلة بشكل متزامن. هناك ثلاث عمليات أساسية في التعامل مع المعاملات:
يبدأ
يقترف
رول باك
1. ابدأ
يشير بيان BEGIN إلى بداية المعاملة. عند تنفيذ هذا الأمر ، فأنت تقوم بإنشاء نقطة بداية لمجموعة جمل SQL الخاصة بك.
BEGIN;
2. الالتزام
لإنهاء التغييرات الخاصة بك واستمرارها في قاعدة البيانات ، استخدم جملة COMMIT. هذا يضمن أن جميع العمليات داخل الصفقة يتم تنفيذها بنجاح وبشكل دائم.
COMMIT;
فيما يلي مثال على معاملة كاملة باستخدام المثال الكلاسيكي لتحويل الأموال بين الحسابات:
BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;
3. رول باك
عند العمل مع المعاملات ، من الضروري أيضًا معرفة كيفية التراجع عن التغييرات عند حدوث خطأ. يعكس بيان ROLLBACK جميع التغييرات التي تم إجراؤها منذ بدء المعاملة:
ROLLBACK;
فيما يلي مثال على معاملة مع معالجة الأخطاء باستخدام ROLLBACK:
BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
IF @@ERROR <> 0
ROLLBACK;
ELSE
COMMIT;
افكار اخيرة
كما رأيت في ورقة الغش في SQL هذه ، تقدم SQL العديد من الأوامر والوظائف التي تتيح لك إنشاء البيانات ومعالجتها والاستعلام عنها في قاعدة بيانات علائقية.
من الأوامر التأسيسية مثل SELECT و INSERT و UPDATE و DELETE ، إلى التركيبات الأكثر تعقيدًا مثل JOINs والاستعلامات الفرعية ، إلى الوظائف المجمعة التي قمنا بتغطيتها ، يوفر SQL المرونة للتعامل مع مجموعة واسعة من مهام البيانات.
استمر في العودة إلى ورقة الغش هذه لتسريع رحلتك لتعلم SQL !
تعرف على تقنية تصور LuckyTemplates هذه حتى تتمكن من إنشاء قوالب الخلفية واستيرادها إلى تقارير LuckyTemplates الخاصة بك.
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ستتعلم كيفية حفظ وتحميل الكائنات من ملف .rds في R. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.
في هذا البرنامج التعليمي للغة ترميز DAX ، تعرف على كيفية استخدام وظيفة الإنشاء وكيفية تغيير عنوان القياس ديناميكيًا.
سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.
في هذه المقالة ، سأقوم بتشغيل سياق عامل التصفية. يعد سياق عامل التصفية أحد الموضوعات الرئيسية التي يجب على أي مستخدم LuckyTemplates التعرف عليها في البداية.
أريد أن أوضح كيف يمكن لخدمة تطبيقات LuckyTemplates عبر الإنترنت أن تساعد في إدارة التقارير والرؤى المختلفة التي تم إنشاؤها من مصادر مختلفة.
تعرف على كيفية إجراء تغييرات في هامش الربح باستخدام تقنيات مثل قياس التفرع والجمع بين صيغ DAX في LuckyTemplates.
سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX في توفير النتائج.
إذا كنت لا تزال تستخدم Excel حتى الآن ، فهذا هو أفضل وقت لبدء استخدام LuckyTemplates لاحتياجات إعداد تقارير الأعمال الخاصة بك.