Questions tagged [sql]

SQL(エスキューエル・シークェル・シーケル)は、リレーショナルデータベース管理システムにおいて、データの操作や定義を行うためのデータベース言語です。標準化はANSIやISOで行なわれましたが、何度も制定されなされているためベンダーによって対応が違います。

SQL(エスキューエル・シークェル・シーケル)は、リレーショナルデータベース管理システムにおいて、データの操作や定義を行うためのデータベース言語です。Structured Query Languageの略であるとする文献もありますが、国際標準のSQLでは何の略でもないとされています。標準化はANSIやISOで行なわれましたが、何度も違う年度に制定されなされているためベンダーによって対応が違います。

378 questions
15
votes
2 answers

COUNT(*) が何を意味しているのかわからない

COUNT(*) が何を意味しているのかわからないです。SQLの勉強をしています。 SELECT age, COUNT(*) FROM users GROUP BY age; というコードがありました。全てのユーザーを年齢ごとにグループ化し年齢と年齢ごとの人数をusersテーブルから取得してくるという内容なのですが、なぜCOUNT(*)の()の中は*が指定されているのでしょうか?*は全てという意味で、この場合だとCOUNT(age) になるのかなと。
RIRIN
  • 339
  • 1
  • 3
  • 8
4
votes
2 answers

SQLであいまい検索をする

SQLである単語を含み、その単語の大文字小文字、全角半角、空白の有無の差を無視したlikeのような絞り込みをしたいです。どのようにSQL文を書けばいいでしょうか? 例 ある単語:ABC 以下すべてヒットするデータの例 ABC aBC abc ABC(全角) abc (全角) Abc (全角半角大文字小文字混合) xxxabcyyy (abcを含む) a b c(間に空白有) ヒットしないデータの例 abdc
Jogenara
  • 622
  • 10
  • 18
3
votes
2 answers

SQLで、列Xの値がnのときの、列Yの値が最大の行を求めたい。

select * from A where X=n and Y = ( select max(Y) from A where X=n); でいいでしょうか? これですと、where X=nが2か所にあり、もっと簡潔な、あるいは分かりやすい書き方はないでしょうか?
3
votes
3 answers

IDが紐づいている別テーブルのレーコード件数を取得したい

以下のように、tableAのIDに紐づくtableBがあります。 これらのテーブルに対してtableAの結果全てと、tableAのIDに紐づいているtableBの件数を、下記希望取得結果のような形で取得できるSQLはあるでしょうか? 現在の想定では、tableAの結果をループで回してtableBの件数を取得するしかないかなと考えています。 tableA id | name ーーーーーーー 1 | 山田太郎 2 | 鈴木次郎 3 | 田中三郎 tableB id |…
umd0621
  • 83
  • 1
  • 1
  • 8
3
votes
0 answers

JIRA - 指定した期間内に変更されたチケットをJQLで抽出したい

指定した期間内で変更があったJIRAチケットを抽出するJQLを書きたいのですが、 可能なのでしょうか。 priority CHANGED BEFORE "2015/05/11" AFTER "2015/05/22" これではうまく抽出できませんでした。 updated > "2015/05/11" AND updated <= "2015/05/22" この方法だと、最新の変更日のみが対象となってしまうため、要件を満たしませんでした。
Neko
  • 31
  • 1
2
votes
2 answers

テーブルAからselectした結果を元に複数件データをテーブルBにinsertする

以下のようなテーブルデータがそれぞれあるとします。 テーブルA id data type 1 aaa a 2 bbb a 3 ccc a 4 ddd b 5 eee b テーブルB id data 1 xxx 2 yyy テーブルAから、例えば以下のようにセレクトし、その結果をテーブルBにインサートして以下の結果のようにしたいです。 1回のSQL文で実現可能でしょうか? 実現可能ならどのようにSQL文を書けばよいでしょうか? s…
Jogenara
  • 622
  • 10
  • 18
2
votes
1 answer

SQLで列の値がNullではない列の値を表示する

SQLを勉強しております。初歩的なことかもしれませんが、アドバイスをいただけませんでしょうか。 Item ID, small_category, mid_category, large_category 332, ルアー, 釣具, スポーツ 445, ソフト, 据え置きゲーム, ホビー 551, 野球, スポーツ, NULL, NULL 661, ホビー, NULL, NULL, NULL このようなデータがあったときに、 どのItem…
montjeu
  • 63
  • 3
  • 9
2
votes
3 answers

SQL で特定のカラムを除いて select する方法ってありませんか?

よく重複除去するのに WITH tmp AS ( SELECT *, ROW_NUMBER() OVER (PARTITION BY uniq_column ORDER BY last_modified desc AS rn FROM table ) SELECT FROM tmp WHERE rn = 1 みたいな書き方するのですが カラム数が多いと記述が長くなってしまうのと カラムを追加する時に 最後の SELECT…
user35303
2
votes
0 answers

最新時間のIDをユニークに抽出

以下のようなテーブル構成の時、次の条件でデータを抽出したいです。 条件:timeが最新のglobal_idをユニークに抽出 ※timeは被る場合もあります。  global_idカラムの値が同じでidの値が違う場合も、同じ場合もあります。 ・テーブル構成 table_name : mapping_table time |global_id |id --------------------------- 1535338578 |7cbd0e54 …
やこう
  • 21
  • 2
2
votes
1 answer

標準SQL (SQL99) 準拠の再帰CTEの仕様は?

再帰CTE (with recursive) について調べていて、これは SQL99 の規格で標準が定められているらしいですが、その厳密な仕様はどうなっているのか、気になりました。 with recursive の規格(とくに、どういった構文がゆるされるのか)ないし、これについてまとまった資料などはありませんでしょうか。
Yuki Inoue
  • 16,805
  • 19
  • 80
  • 196
2
votes
2 answers

カラム値が重複していない場合にはその値を、そうでない場合にはnullを返すSQLを作成したい

内容としてはタイトルで全てですが、うまく表現できていないように思えるため下記に図を記載しました。 一応、実現することはできたのですが、もう少しシンプルに書けるかと思い質問させて頂きました。(case文などは使わず、外部結合を使用できそうな気がしていますが実現できませんでした。) テーブル | name | value | |------|-------| | a | a1 | | b | b1 | | c | c1 | | c | c2 …
yamap_55
  • 784
  • 1
  • 8
  • 21
2
votes
2 answers

POSTGRES バインド値を、同SQL内の別の箇所でも使用したい

現在の実装は下記の通りです SELECT CASE 'バインド値' WHEN 'ABC' THEN "none" ELSE NEXTVAL('☆') END AS VALUE; CASEの判定値にバインド値を設定しており、そのバインド値を「☆」の部分でも使用したいのですが方法がわかりません。 分かる方がいましたら、ご教授をお願いします。
aspara_prime
  • 1,316
  • 21
  • 48
  • 74
2
votes
3 answers

SQL テーブル フィールド 命名規則について

一般的には以下の命名が通例かと思われます。 国内のみの利用ですので日本語での命名についてはご容赦下さい。 テーブル名:商品マスタ または…
mariko
  • 137
  • 2
  • 4
  • 16
1
vote
0 answers

UNIFY2000(1992年)について

UNIFY2000(1992年)のことですが、 SQLを使用していたか?していなかったのか? SQLの代わりにC言語でプログラミングした 覚えがあります。 古い話ですが、1992年ごろのUNIFY2000に詳しい方が いらっしゃいましたら、回答のほど、よろしくお願いします。
1
vote
2 answers

SQLで複数列のデータを一つにまとめるViewを作りたい

Name TEL1 TEL2 TEL3 Tarou 000-0000-0000 111-1111-1111 222-2222-2222 Hanako 333-3333-3333 444-4444-4444 NULL という一つのテーブルに同じ項目を複数持っているようなものをばらして Name TEL Tarou 000-0000-0000 Tarou 111-1111-1111 Tarou 222-2222-2222 Hanako 333-…
Jogenara
  • 622
  • 10
  • 18
1
2 3 4 5