> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> يتيح إجراء استعلامات على البيانات المخزنة في قاعدة بيانات SQLite.

# sqlite

يتيح إجراء استعلامات على البيانات المخزنة في قاعدة بيانات [SQLite](/docs/ar/reference/engines/database-engines/sqlite).

<div id="syntax">
  ## البنية
</div>

```sql theme={null}
sqlite('db_path', 'table_name')
```

<div id="arguments">
  ## الوسيطات
</div>

* `db_path` — مسار ملف يحتوي على قاعدة بيانات SQLite. [String](/docs/ar/reference/data-types/string).
* `table_name` — اسم جدول في قاعدة بيانات SQLite، أو استعلام يُمرَّر إلى SQLite كما هو (انظر [تمرير استعلام بدلًا من اسم جدول](#passing-a-query)). [String](/docs/ar/reference/data-types/string).

<div id="returned_value">
  ## القيمة المعادة
</div>

* كائن من نوع جدول يحتوي على الأعمدة نفسها الموجودة في جدول `SQLite` الأصلي.

<div id="passing-a-query">
  ## تمرير استعلام بدلًا من اسم جدول
</div>

بدلًا من اسم جدول، يمكن أن تكون الوسيطة الثانية استعلام `SELECT` يُمرَّر إلى SQLite كما هو. ويُستنتج هيكل الجدول الناتج من نتيجة الاستعلام. ويمكن كتابة الاستعلام إما على هيئة استعلام فرعي، أو بتغليفه داخل الدالة `query`:

```sql theme={null}
SELECT * FROM sqlite('sqlite.db', (SELECT col1, col2 FROM table1 WHERE col2 > 1));
SELECT * FROM sqlite('sqlite.db', query('SELECT col1, col2 FROM table1 WHERE col2 > 1'));
```

مثل هذا الجدول للقراءة فقط: لا يُسمح بتنفيذ `INSERT` عليه. كما يدعم محرك جدول [`SQLite`](/docs/ar/reference/engines/table-engines/integrations/sqlite) البنية نفسها.

<Note>
  تُحلَّل صيغة الاستعلام الفرعي `(SELECT ...)` من قِبل ClickHouse ثم يُعاد تسلسلها قبل إرسالها إلى SQLite. لذلك يجب أن تكون صالحة في ClickHouse SQL. ولتمرير بنية خاصة بـ SQLite لا يستطيع ClickHouse تحليلها، استخدم بنية `query('...')`، إذ يُرسل نصها إلى SQLite حرفيًا.

  أي `WHERE` أو `LIMIT` أو aggregation أو غير ذلك في استعلام ClickHouse المحيط **لا** يُدفَع إلى داخل الاستعلام المُمرَّر — بل يُطبَّق في ClickHouse بعد جلب نتيجة الاستعلام كاملة. ولتقييد البيانات المقروءة من SQLite، ضع شرط التصفية داخل الاستعلام المُمرَّر. عند استخدام [`external_table_strict_query = 1`](/docs/ar/reference/settings/session-settings#external_table_strict_query)، يُرفَض شرط تصفية خارجي يتعذّر دفعه مع exception بدلًا من تطبيقه محليًا.
</Note>

<div id="example">
  ## مثال
</div>

```sql title="Query" theme={null}
SELECT * FROM sqlite('sqlite.db', 'table1') ORDER BY col2;
```

```text title="Response" theme={null}
┌─col1──┬─col2─┐
│ line1 │    1 │
│ line2 │    2 │
│ line3 │    3 │
└───────┴──────┘
```

<div id="related">
  ## ذات صلة
</div>

* محرك جدول [SQLite](/docs/ar/reference/engines/table-engines/integrations/sqlite)
* [محرك قاعدة البيانات SQLite](/docs/ar/reference/engines/database-engines/sqlite) — قسم دعم أنواع البيانات
