select *
from DEMO_ORDER_ITEMS
where (
ORDER_ITEM_ID like '%1%' ||
ORDER_ID like '%1%' ||
PRODUCT_ID like '%1%' ||
UNIT_PRICE like '%1%'
);
これは、すべての列からデータベースから検索したレコードを検索して取得する正しいクエリですか?すべての列を検索するSQLクエリを作成するには?
select *
from DEMO_ORDER_ITEMS
where (
ORDER_ITEM_ID like '%1%' ||
ORDER_ID like '%1%' ||
PRODUCT_ID like '%1%' ||
UNIT_PRICE like '%1%'
);
これは、すべての列からデータベースから検索したレコードを検索して取得する正しいクエリですか?すべての列を検索するSQLクエリを作成するには?
おそらくOR
が必要になります。
select *
from DEMO_ORDER_ITEMS
where (
ORDER_ITEM_ID like '%1%' OR
ORDER_ID like '%1%' OR
PRODUCT_ID like '%1%' OR
UNIT_PRICE like '%1%'
);
括弧はここでは必要ではないことに注意してください。しかしMatthew McPeakが気づいたように、彼らは問題を提起せず、AND
に他の条件を追加する必要がある場合に便利です。OR
||
はconcatenation in Oracleの演算子です。例:
SQL> select 'a' || 'b' from dual;
'A
--
ab
括弧は必要ではありませんが、後でAND条件を追加する必要がある場合、誤ったクエリ結果を避けるのに役立ちますので、括弧は必要ありません。 –
'||'はOracleの連結演算子ではありません。これはSQL標準で定義されたものです。 –
これはあなたの宿題ですか? – AlastairG
コードを実行して見ましたか?あなたがした場合、結果に何らかの誤りがありましたか? – Aaron