SQL 中針對多個欄位使用 IN 運算子有兩種方法:透過子查詢或直接列出多個值。子查詢用於從其他查詢中檢索值,而多個值可以用逗號分隔直接列出。 IN 操作符檢查給定值是否在指定值的清單中。
SQL 中多個欄位中的IN 用法
IN 運算子用於檢查給定值是否在指定值的清單中。當需要檢查多個欄位時,可以在 IN 操作符中使用子查詢或多個值。
子查詢
子查詢是一種巢狀查詢,用於從資料庫中檢索資料。它可以在 IN 操作符中使用,將多個欄位的值與其比較。語法如下:
<code class="sql">SELECT * FROM table_name WHERE (column1, column2, ...) IN ( SELECT column1, column2, ... FROM subquery );</code>
例如:
<code class="sql">SELECT * FROM orders WHERE (order_id, customer_id) IN ( SELECT order_id, customer_id FROM order_details );</code>
多個值
也可以在 IN 運算子中指定多個值,用逗號分隔。語法如下:
<code class="sql">SELECT * FROM table_name WHERE (column1, column2, ...) IN (value1, value2, ...);</code>
例如:
<code class="sql">SELECT * FROM customers WHERE (first_name, last_name) IN ('John', 'Doe');</code>
範例
#考慮一個包含以下資料的表格orders
:
order_id | customer_id | #product_id |
---|---|---|
1 | 201 | |
#1 | 301 | |
2 | 201 | |
2 | 302 |
<code class="sql">SELECT * FROM orders WHERE (product_id) IN (201, 302);</code>輸出將會是:
customer_id | ##product_id | |
---|---|---|
#201 | 102 | |
301 | #103 | |
#201 | #104 | |
#302 |
以上是sql中多個字段in的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!