SQL– tag –
-
Oracle
ORA-01403 | データが1件も返らない時の典型原因と修正方法
Oracleデータベースでアプリケーション開発をしていると、時々遭遇するエラーが ORA-01403: no data found です。特にPL/SQLやSELECT INTO構文を使った処理でよく発生します。 この記事では、 ORA-01403が発生する状況 よくある原因 実務レベルでの修正方... -
Oracle
ORA-01400 NULLを挿入できません|INSERT時のエラー原因と対応手順
OracleでINSERT文を実行した際、次のようなエラーが表示されることがあります。 [crayon-6957733d4cb4c227211226/] このエラーは、NOT NULL制約が設定されているカラムにNULL値を挿入しようとした場合に発生します。SQLを修正するだけではなく、アプリ側の... -
SQL
SQL 日付条件で絞り込みたい時の書き方(BETWEEN/>=/<=)
SQLで日付条件を使ってデータを抽出したい場合、代表的な書き方として BETWEEN や >= / <=(範囲指定) を利用します。しかし、実務では 時間を含むデータ や 境界値の違い により、意図したデータが取得できないケースが発生しやすいです。 この記... -
SQL
HAVING句 WHERE句 違い|SQLで使い分けるべき場面をわかりやすく解説
SQLで集計処理を行う際に必ず出てくるのが WHERE句 と HAVING句 の違いです。どちらも「条件を絞り込む」ための構文ですが、役割が明確に異なります。この記事では、 HAVING句を使うべきケース と WHEREとの使い分け をわかりやすく解説します。 ■ WHERE句... -
Oracle
ora-00001|Oracleの一意制約(UNIQUE制約)違反の原因と対処方法
はじめに Oracleで最もよく見るエラーの1つが ORA-00001:一意制約(UNIQUE制約)違反。INSERT/UPDATE で突然エラーになり、原因が分かりづらいケースも多いです。 本記事では、UNIQUE制約でハマりやすいポイントと、ORA-00001の根本対策を実例付きで解説... -
SQL
📝 SQL: LIKE 検索におけるワイルドカード(%と_)の動作と注意点
SQLのLIKE演算子は、特定の文字列パターンに一致するデータを検索する際に使用されます。この検索パターンを指定するために、ワイルドカードと呼ばれる特別な記号が使われます。主なワイルドカードは、%(パーセント)と_(アンダースコア)の2種類です。 ... -
SQL
SQL:副問合せ(サブクエリ)で比較できないケースと対処方法
副問合せ(サブクエリ)をWHERE句やHAVING句で使った際、「比較できません」「単一行サブクエリで複数行が返りました」などのエラーに遭遇することがあります。この記事では、比較できないケースの原因と、正しく比較するための対処方法をわかりやすくまと... -
Oracle
Oracle:ORA-03135「接続が失われました」の原因と対処方法|タイムアウト対策
Oracle DBへ接続しようとした際にORA-03135: connection lost contact(接続が失われました)というエラーが発生することがあります。 特にバッチ処理中や、長時間実行するSQL、アプリケーション側からの接続で発生しやすく、原因がネットワークにあるのか... -
SQL
SQL:重複データを安全に削除する方法(DELETE+ROW_NUMBER)
データベースを長く運用していると、アプリのバグやテストデータの混入、複数サーバ間複製のトラブルなどが原因で、重複データが発生することがあります。しかし、安易に DELETE を実行すると必要なデータまで消えてしまう危険があります。 そこで本記事で... -
SQL
SQL:中央値(MEDIAN)をSQLで求める方法まとめ
中央値を使う場面 中央値(MEDIAN)は、極端な値(外れ値)の影響を受けにくい指標として、業務システムやデータ分析でよく使われます。例:処理時間の中央値、売上の中央値、レスポンス時間の中央値など。 SQLではDBMSによって書き方が大きく異なるため、...
