التصفية حسب الأعمدة المتطابقة في قواعد البيانات باستخدام استعلام SQL

هل تبحث عن طريقة لتصفية صفوفك من جدول قاعدة بيانات SQL أو MySQL أو MariaDB بواسطة أعمدة متطابقة؟ تبحث عن استعلام للعب على وحدة التحكم؟

مررت مؤخرًا بموقف كان من الضروري فيه التصفية على جدول قاعدة بيانات وعرض الصفوف التي تحتوي على عمودين بنفس القيم النصية فقط. بعد ساعات من البحث وجدت الحل البسيط وأشاركه معك.

أنا لست مبرمجًا ، وأعتقد أن معظم الأشخاص الذين يبحثون عن هذه النصائح لا يمتلكون هذا الإحساس بالكود أيضًا.

غالبًا ما أستخدم برنامج Navicat لتحرير قواعد البيانات ، فهو سريع ومريح للغاية ، بالإضافة إلى السماح لك بتحرير الصفوف والأعمدة بحرية متساوية مع Microsoft Excel أو Apple Numbers.

يستخدم معظم الأشخاص PhpmyAdmin لإدارة قواعد بيانات مواقع الويب الخاصة بهم. كلاهما يسمح لك بتشغيل البرامج النصية من خلال علامة التبويب SQL أو الاستعلام.

استخدام استعلام SQL للتصفية

نظرًا لأنني لست محترفًا في قواعد البيانات ، لم أكن أعرف أنه يمكنك عرض الجداول التي تمت تصفيتها من خلال رمز استعلام ، لكن لحسن الحظ اكتشفت ذلك.

إن استخدامي في قاعدة البيانات هو حذف الأسطر بالكامل والبحث عن النصوص واستخدام امتداد البحث والاستبدال، لم يكن لدي أي فكرة أن أكواد SQL مفيدة للغاية.

لقد استخدمت هذه الرموز شخصيًا للتحقق من أخطاء الترجمة والعثور على الصفوف غير المترجمة في جداول قاعدة البيانات الخاصة بـ ترجمة الصحافة.

Filtrar por colunas idênticas em bancos de dado com sql query - sql filtro navicat

كود استعلام SQL

الرموز أدناه مفيدة لـ:

  • البحث عن صفوف متساوية من أعمدة مختلفة ؛
  • ابحث عن صفوف مختلفة من أعمدة مختلفة ؛
  • يجد محتوى متساويًا في عمودين ؛
SELECT * FROM `databasename`.`tablename` WHERE colum01 = colum02 ORDER BY `id` LIMIT 500 OFFSET 0; 

الكود الذي نظرنا إليه للتو يستخدم حيث colum01 = colum02 لعرض الصفوف التي لها نفس النتائج في كلا العمودين. يمكن تمديد الكود ليشمل المزيد من الأعمدة إذا رغبت في ذلك.

في حالة رغبتك في إضافة عوامل التصفية التقليدية للعثور على نص معين ، يمكنك تمديد البرنامج النصي من قبل ترتيب حسب وضع أ و كما في الكود أدناه:

SELECT * FROM `databasename`.`tablename` WHERE colum01 = colum02 AND (`colum01` LIKE '%text%') ORDER BY `id` LIMIT 500 OFFSET 0; 

بعد، بعدما و لدينا رمز بين قوسين يقوم بتصفية النص فقط في العمود 01. مثل للعثور على الأسطر التي تحتوي على القيمة المصفاة أو لا يشبه للعثور على الصفوف التي لا تحتوي على القيمة.

يمكن تمديد البرنامج النصي بشكل أكبر باستخدام AND والتعليمات البرمجية الأخرى. الآن حتى ننتهي ، سنعرض رمزًا آخر ، ولكن بدلاً من عرض الصفوف ذات القيم المتساوية ، فإنه يعرض صفوفًا بقيم مختلفة باستخدام !=.

SELECT * FROM `databasename`.`tablename` WHERE colum01 != colum02 ORDER BY `id` LIMIT 500 OFFSET 0; 

آمل أن يساعدك هذا الرمز في التصفية والبحث حقًا عن الصفوف بنفس القيم أو بقيم مختلفة من أعمدة منفصلة باستخدام عوامل تصفية تقليدية مثل وليس مثل.