English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في PostgreSQL، يُدعى AND و OR أيضًا عمليات الاتصال، ويُستخدمان في استعلام البيانات لتقليل نطاق البحث، يمكننا استخدام AND أو OR لتعريف شروط استعلام متعددة.
مؤشر AND يشير إلى أن يجب استيفاء الشروط الواحدة أو أكثر في نفس الوقت.
في جملة WHERE، نستخدم لغة الجرامر للـ AND كما يلي:
SELECT column1, column2, columnN FROM table_name WHERE [condition1] AND [condition2]...AND [conditionN];
创建 COMPANY 表(下载 COMPANY SQL 文件 ),数据内容如下:
w3codeboxdb# select * from COMPANY; id | name | age | address | salary ----+-------+-----+-----------+-------- 1 | Paul | 32 | California| 20000 2 | Allen | 25 | Texas | 15000 3 | Teddy | 23 | Norway | 20000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 6 | Kim | 22 | South-Hall| 45000 7 | James | 24 | Houston | 10000 (7 rows)
في هذا المثال، يتم قراءة جميع السجلات التي تحتوي على حقل AGE أكبر من 25 وحقل SALARY أكبر من أو يساوي 65000:
w3codeboxdb=# SELECT * FROM COMPANY WHERE AGE >= 25 AND SALARY >= 65000; id | name | age | address | salary ----+-------+-----+------------+-------- 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 (2 صفوف)
مؤشر OR يشير إلى أن يجب استيفاء أي من الشروط المتعددة.
在 WHERE 子句中,OR 的使用语法如下:
SELECT column1, column2, columnN FROM table_name WHERE [condition1] OR [condition2]...OR [conditionN]
创建 COMPANY 表(下载 COMPANY SQL 文件 ),数据内容如下:
w3codeboxdb# select * from COMPANY; id | name | age | address | salary ----+-------+-----+-----------+-------- 1 | Paul | 32 | California| 20000 2 | Allen | 25 | Texas | 15000 3 | Teddy | 23 | Norway | 20000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 6 | Kim | 22 | South-Hall| 45000 7 | James | 24 | Houston | 10000 (7 rows)
以下示例读取 AGE 字段大于等于 25 或 SALARY 字段大于等于 65000 的所有记录:
w3codeboxdb=# SELECT * FROM COMPANY WHERE AGE >= 25 OR SALARY >= 65000; id | name | age | address | salary ----+-------+-----+------------+-------- 1 | Paul | 32 | California | 20000 2 | Allen | 25 | Texas | 15000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 (4 صفوف)