ในตัวอย่างเฉพาะคุณควรเขียนเงื่อนไขดังนี้:
$query->condition('n.language', 'ab', '<>');
ในกรณีทั่วไปที่คุณต้องเลือกแถวในฐานข้อมูลโดยยึดตามค่าที่ส่งคืนจากแบบสอบถามย่อยคุณควรพิจารณาสิ่งต่อไปนี้:
- "ไม่อยู่ใน" - SelectQuery::condition()ได้รับการยอมรับเป็นผู้ประกอบการจาก อันที่จริงแล้วแบบสอบถามต่อไปนี้จะถูกดำเนินการ:
 - $query = db_select('node', 'n')->fields('n');
$query->condition('n.nid', array(1, 2, 3), 'NOT IN');
$nodes = $query->execute();
foreach ($nodes as $node) {
  dsm($node->nid);
}
 
- ตามที่รายงานไว้ในข้อเงื่อนไข ("Subselects") - SelectQuery::condition()ยอมรับวัตถุที่ใช้- SelectQueryInterfaceเป็นค่า- $valueเช่นคืนโดย- db_select(); ปัญหาคือว่าจริง ๆ แล้วคุณก็สามารถใช้มันเมื่อค่าของมีค่าเท่ากับ- $operator- "IN"ดูsubselects จะไม่ได้ทำงานในสภาพ DBTNG ยกเว้นเมื่อใช้เป็นค่าสำหรับ IN
 
วิธีเดียวที่ฉันสามารถเห็นการใช้ตัวดำเนินการ "ไม่ได้อยู่ใน" กับแบบสอบถามย่อยในconditionคือ:
- ดำเนินการแบบสอบถามย่อยเพื่อรับอาร์เรย์
- เรียกใช้งานเคียวรีหลักเพื่อตั้งเงื่อนไขเช่นเดียวกับข้อมูลโค้ดต่อไปนี้ - $query->condition($key, $subquery_result, 'NOT IN');
 - $subquery_resultเป็นอาร์เรย์ที่มีผลลัพธ์ของแบบสอบถามย่อย
 
มิฉะนั้นคุณสามารถใช้where()ตามที่คนอื่นพูดซึ่งยอมรับสตริงสำหรับส่วนของแบบสอบถามที่คุณต้องการเพิ่ม
โปรดจำไว้ว่าdb_select()ช้าลงdb_query(); คุณควรใช้คำสั่งแรกเมื่อคุณรู้ว่าอาจมีการเปลี่ยนแปลงโมดูลอื่น ๆ มิฉะนั้นถ้าโมดูลอื่น ๆ ไม่ควรที่จะใช้ในการปรับเปลี่ยนการค้นหาของคุณคุณควรใช้hook_query_alter() 
ในกรณีของการเข้าถึงโหนดถ้าคุณต้องการที่จะได้รับเพียงโหนดที่ผู้ใช้มีการเข้าถึงจากนั้นคุณจำเป็นต้องใช้และเพิ่มเป็นแท็กของแบบสอบถามที่มี ตัวอย่างเช่นใช้รหัสต่อไปนี้db_query()
db_select()'node_access'SelectQuery::addTag()blog_page_last()
  $query = db_select('node', 'n')->extend('PagerDefault');
  $nids = $query
  ->fields('n', array('nid', 'sticky', 'created'))
    ->condition('type', 'blog')
    ->condition('status', 1)
    ->orderBy('sticky', 'DESC')
    ->orderBy('created', 'DESC')
    ->limit(variable_get('default_nodes_main', 10))
    ->addTag('node_access')
    ->execute()
    ->fetchCol();
book_block_view()รหัสที่คล้ายกันจะถูกใช้โดย
$select = db_select('node', 'n')
  ->fields('n', array('title'))
  ->condition('n.nid', $node->book['bid'])
  ->addTag('node_access');
$title = $select->execute()->fetchField();
               
              
SELECT nid FROM node WHERE language != 'ab'?