0001NAME IS NULL2016/05/12(木) 05:29:07.61ID:HmbS4CfD SQL初心者用の質問スレッドです。
0469NAME IS NULL2017/03/14(火) 20:37:06.86ID:??? ここはデータベース板だって事分かってる? 0470NAME IS NULL2017/03/14(火) 20:43:01.10ID:??? そりゃ分かってるでしょう 0471NAME IS NULL2017/03/14(火) 20:47:24.70ID:VMT6GYOD 時と場所をわきまえずに正規自慢したがるのが正規厨なんだYO 0472NAME IS NULL2017/03/14(火) 21:15:09.82ID:LfWSYHE8>>471 Oracleも正規表現の関数を大量に追加したものの使ってるプログラムを見たことない。
正規表現の乱用はよくないという結論は十数年前に出てるよな。
Eメールアドレスの形式チェックですら正規表現だけでやろうとすると難しくて昔はどのWebサイトもミスしまくってたな。 0473NAME IS NULL2017/03/14(火) 22:45:55.12ID:???>>472 裏付けは? 0474NAME IS NULL2017/03/15(水) 00:01:42.17ID:???>>472 なんでも乱用は良くないものですよ
Eメールアドレスの形式チェック「ですら」 … 0475NAME IS NULL2017/03/15(水) 23:12:31.33ID:yFO1cwOX>>473 正規表現だけでEメールアドレスの文字列があっているかどうかを一発で判定する正規表現を考えればいい。なかなか難しいぞ。 0476NAME IS NULL2017/03/15(水) 23:13:19.18ID:yFO1cwOX>>474 日本語が苦手なんですね。 0477NAME IS NULL2017/03/15(水) 23:28:15.79ID:??? (はは〜ん…コイツさては正規厨だな…) 0478NAME IS NULL2017/03/15(水) 23:50:53.41ID:yFO1cwOX 語彙って親や育った環境で大差がつくんだよな。知らない、あまりその人が聞かない言葉や言い回し見たり、聞いたりすると言葉がおかしいなどと批判してくる。本人が無知なだけなのに。 0479NAME IS NULL2017/03/16(木) 02:43:53.69ID:??? 3日連投しましょう 0480NAME IS NULL2017/03/26(日) 06:46:08.94ID:??? SQLの書き方で質問ですが、 AND句は行の先頭に書くか、行の末尾に書くか、どちらが一般的でしょうか?
(例1) WHERE A = 1 AND B = 1
(例2) WHERE A = 1 AND B = 1
SQLの書き方ガイドラインのようなものがあれば教えてください。 よろしくお願いします。 0481NAME IS NULL2017/03/26(日) 10:03:55.44ID:???>>480 両方一般的 0482NAME IS NULL2017/03/26(日) 10:40:33.20ID:uME5dCZb>>480 そういう決まりはない。プログラミング言語と同じで改行せずにANDがあれば条件の続きがあるとわかりやすいが、コメントアウトしにくい。
selectの選択列のカンマ位置と同じようなもの。 0483NAME IS NULL2017/03/26(日) 12:01:47.23ID:??? うちは where 1 = 1 and a = 1 and b = 1 0484NAME IS NULL2017/03/26(日) 13:03:58.55ID:??? UNIONやサブクエリ入るとまたちょっと変わるけど基本的に select tableの選択セクション whereの条件セクション orderとかのその他セクション この3つで分ける程度だな 0485NAME IS NULL2017/03/26(日) 16:07:36.99ID:vHb56IYDhttp://echo.2ch.net/test/read.cgi/db/1272761178/0486NAME IS NULL2017/03/29(水) 18:16:55.34ID:XE4RKzOb 技術士の全部門をコンプリート vs 東大理三首席現役合格 vs 旧司法試験首席一発合格
どれが一番凄い? 0487NAME IS NULL2017/03/30(木) 05:17:15.45ID:???>>481, 482, 483, 484 返信が遅くなってしまいすみません。 レスありがとうございました。
>selectの選択列のカンマ位置と同じようなもの。
なるほどそうですか。 例1も例2も好きなほうでよい、ということですね。
(例1) SELECT A, B, C, D
(例2) SELECT A, B, C , D
勉強になりました。 0488NAME IS NULL2017/03/30(木) 08:09:41.36ID:??? 条件の内容を最初に見たいからandは後ろにつけてる。 前にあると地味にイラっとする。 where a=1 and b=2 0489NAME IS NULL2017/03/31(金) 15:35:06.33ID:???>>486 東大理三首席現役合格 正真正銘期間限定延期不可一発勝負なのはこれだけ 0490ich12017/04/01(土) 14:41:02.43ID:YerBiODJhttps://goo.gl/8by4rX これは嫌だなー。。本当なの? 0491NAME IS NULL2017/04/01(土) 21:59:51.47ID:O38ZNBFt カスタマーエンジニアってどうですか?収入面とか労働面で。 楽ですか?それとも超キツイですか? 0492NAME IS NULL2017/04/01(土) 22:41:01.99ID:??? >491 マルチ。くそ 0493NAME IS NULL2017/04/09(日) 19:51:01.20ID:??? このどうですか厨は、いろんな板で荒らしているだろ 相手せず、スルーしようよ 0494NAME IS NULL2017/04/13(木) 18:25:57.43ID:n8gSS6s1 C#からsqliteを使っているんですが、データベースの設計方法がわかりません、第2正規化以降って必要ですか? 必要なデータを洗い出してそこから正規化していけばいいんでしょうか?もしある程度レコードが増えた状態で新たに項目追加したいとなったらどうすればいいんでしょうか? 0495NAME IS NULL2017/04/13(木) 18:43:18.24ID:??? そりゃ設計のスレだな 追加したカラムに既存のレコードも全部埋まるなら追加でいいし 埋まらないなら別に作るべきでしょ 0496NAME IS NULL2017/04/13(木) 18:44:45.99ID:???>>494 本買って読んだ方が手っ取り早い 0497NAME IS NULL2017/04/13(木) 21:45:28.08ID:???>>495 すいません では設計スレのほうにいきます 0498NAME IS NULL2017/04/20(木) 02:03:12.33ID:??? mybatis使っててDBに定義されたBLOB型のデータをバイト配列として取得する方法ってありますか? 0499NAME IS NULL2017/04/20(木) 03:51:44.77ID:3sXeWAt/>>498 プログラム板で聞いた方がいい。 0500NAME IS NULL2017/04/20(木) 03:56:00.44ID:3sXeWAt/>>498 調べたらそれ普通じゃねえか。すこしは調べろよ。 0501ich12017/04/21(金) 16:27:47.00ID:R/eXxgbchttps://goo.gl/q9Ml0S これは嘘でしょ?本当だったら落ち込むわ。。 0502NAME IS NULL2017/04/21(金) 23:52:26.43ID:??? アホかと思われるかも知れませんが、 こうするとエロラーになります。 何か良い方法ないですか?
Select * From テーブル2 ←──┐ Union All │ Select * │ From (サブクエリ) As テーブル2 0503NAME IS NULL2017/04/21(金) 23:54:28.65ID:fJADFuER>>502 ネタですか?
名前がぶつかっているのだから、あたりまえでしょうがw 0504NAME IS NULL2017/04/22(土) 00:02:49.50ID:???>>503 すいません、駄目なのはわかってて、 こういうのがやりたい時はどう書くのかなと。 0505NAME IS NULL2017/04/22(土) 00:10:42.55ID:bI/4AwC2>>504 なぜそうしなければいけないのか? 0506NAME IS NULL2017/04/22(土) 00:13:53.98ID:??? どういうことをしたいのか質問内容を具体的に書かないと伝わらないぞ 0507NAME IS NULL2017/04/22(土) 12:23:35.41ID:??? すごく具体的な質問だと思うけどどこが分からないのか? クエリの結果を二重にしたいだけだろ 0508NAME IS NULL2017/04/22(土) 12:33:28.64ID:???>>507 目的意図です 0509NAME IS NULL2017/04/22(土) 12:33:49.71ID:??? サブクエリーを使いたいと言うことかもしれないし、 単一テーブルから二通りの選択をして結果を合算したいのかもしれないし 0510NAME IS NULL2017/04/22(土) 12:55:02.60ID:??? なぜ聞かれてもいない事を深読みして答えようとするのか? どうにかして自分が知ってる事に結びつけようとしてるだけだろお前ら 0511NAME IS NULL2017/04/22(土) 13:04:00.14ID:??? それも、妄想だろうが 0512NAME IS NULL2017/04/22(土) 13:13:27.52ID:???>>510 マジこれよ 反省する人多すぎ 0513NAME IS NULL2017/04/22(土) 15:11:11.87ID:???>>502 unionはテーブル名見てるんじゃなくselectの中身見てるだけ だから別名付けてどうぞ 0514NAME IS NULL2017/04/22(土) 15:33:24.15ID:bI/4AwC2>>513 unionを同じテーブルとでしか使えないと思い込んでると仮定したわけか? 0515NAME IS NULL2017/04/23(日) 02:28:35.88ID:??? て 0516NAME IS NULL2017/04/23(日) 03:28:24.12ID:???>>505 >>506 こういう嫌がらせみたいな表があるんですよ。
おもいっきり横にスクロールしないと全体を見渡せない、 嫌がらせみたない表でしょう? 0523NAME IS NULL2017/04/23(日) 10:52:31.24ID:???>>522 あなたのいう綺麗な表とは? 縦にしたいの?
『おもいっきり縦にスクロールしないと全体を見渡せない、 嫌がらせみたない表。』
を作りたいの? 何が便利になるの? 0524NAME IS NULL2017/04/23(日) 11:01:55.37ID:??? union allで列分繋げればできるよ 0525NAME IS NULL2017/04/23(日) 11:12:44.52ID:??? 質問返ししてる奴いいかげんウザい 0526NAME IS NULL2017/04/23(日) 11:17:44.14ID:???>>525 どうしたw 急にww 0527NAME IS NULL2017/04/23(日) 11:46:31.38ID:??? なるほど
なんか、同名だと駄目で当然的な流れだが、PostgreSQLではエラーにはならない。 エラーになるのが普通なのか? 0539NAME IS NULL2017/04/24(月) 11:32:36.94ID:???>>538 普通とは? 0540NAME IS NULL2017/04/24(月) 11:50:05.50ID:???>>539 > 普通とは? その疑問の意味がわからない。 0541NAME IS NULL2017/04/24(月) 12:00:49.79ID:???>>540 その文脈で普通を 具体的に表現して。 0542NAME IS NULL2017/04/24(月) 12:40:31.78ID:Ng2xnlDE インラインビューの別名に実テーブル名を使う心理がわからない。混乱するだけだと思うが。 0543NAME IS NULL2017/04/24(月) 12:40:38.23ID:??? もはや後に退けなくなった意地の質問返し 不毛である 0544NAME IS NULL2017/04/24(月) 12:48:45.79ID:???>>541 え?いやだからPostgreSQL以外のRDBMSじゃエラーになるのが普通なのかって意味だけど? 0545NAME IS NULL2017/04/24(月) 12:51:43.81ID:???>>544 普通でないよ 0546NAME IS NULL2017/04/24(月) 13:01:37.97ID:???>>545 そうなんだ。 いや、>>503に誰もコメントしないから、エラーになるのが普通なのかと、ちょっと心配したし。 0547NAME IS NULL2017/04/24(月) 13:04:55.00ID:???>>542 ひょっとして、PostgreSQL以外では以下はエラーになるのが普通なの? select * from (select a, b from hoge) as hoge まぁ、俺も実在のテーブル名を別名につけようとは思わないんだが。 0548NAME IS NULL2017/04/24(月) 13:07:17.98ID:???>>547 心配するな、俺の知ってる範囲ではそれはエラーにならない 0549NAME IS NULL2017/04/24(月) 13:24:49.68ID:??? 別名に関して誤解してる奴が多そうだな 0550NAME IS NULL2017/04/24(月) 14:45:32.03ID:??? >これをUnionで縦に繋げれば綺麗な表になりますが、 >普通にやると検索が3倍になるので、2回目以降は前回の抽出結果を参照したいんです。
select一回で全項目を取得して、後はアプリにやらせるとか 0551NAME IS NULL2017/04/24(月) 14:54:59.09ID:??? なんかよくわからんが、case whenでいけるかもよ? データ例と期待する取得結果を書けば、ちゃんとした答えが返るかも いまのとこ、何をやりたいのかいまいちわからん 0552NAME IS NULL2017/04/24(月) 15:30:08.24ID:??? こういうこと?