select * from xxtable:; とか、最後にくっつけるモノにはなにか意味が?
わたしは、別にくっつけないで、「そりゃF5~」ってやってるんですけど。
SQLコマンド文を考える時に参考にしてる本には、特に書いてないのです。
やるからには、意味を知っておきたい気分って程度です。よろしく。

このQ&Aに関連する最新のQ&A

SQL 文」に関するQ&A: SQL文に関する問題について

意味 select」に関するQ&A: selectの意味

SQL 本」に関するQ&A: SQLの本

A 回答 (2件)

 もう少し説明を付け加えます。


 SQL PLUSでは、SQL文が入力後に改行コードを受け取ってもSQLの実行を行いません。つまり、SQL文が複数行に分かれて記述されている事を前提に動いているからです。SQL PLUSは、「;」を読みこんだ時に初めてSQL文が終了した事が分かるので、今まで入力されてきたSQL文を解釈して実行します。
    • good
    • 0
この回答へのお礼

>複数行に分かれて記述されている事を前提に動いているから
なるほど。合点がいきました!
いつものクセでEnter押して、tableがイカれたら大変だもんな・・
2度も教えていただいてホントにありがとうございます。

お礼日時:2001/03/14 00:00

オラクルのSQL PLUSでは、


SQL文が終了した事を現す為に「;」を最後に付けます。

例えば、こんな書き方が可能です。
select *
from
xxtable;

ですが、「:;」は、分かりません。
どんな環境で使っているのでしょうか。
    • good
    • 0
この回答へのお礼

●早々とアドバイスありがとうございました!
見たらば、「;」でした・・・。すみません。「:=:」と頭の中で混じっちゃったのかな・・。

お礼日時:2001/03/12 15:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す

このQ&Aと関連する良く見られている質問

Qselect from *の意味

SELECT * FROM *の意味

SELECT 〜 FROMの中に 「*」があると思いますが省略できるのでしょうか?

また*の代わりにテーブル名などをいれることができるのですか?

Aベストアンサー

SELECT と FROM の間にある「*」は一般に全カラムデータを指します
*にしない場合は個別に必要なカラム名を列記したり、式を追記します

Q【緊急】ADO で SELECT * INTO aaa From bbb で時間切れになる原因は?

SELECT * INTO 新規テーブル From テーブル元
で、新しいテーブルを作る時に時間切れになってしまいます。

自分が思いつくことは テーブル元 のテーブルを誰かが
つかんでいることぐらいなのですが、その様子はありません。

他に考えられる要因を至急教えて下さい!
SQLSERVER2000
WINDOWS2000

テーブル元の件数が関係ありますでしょうか?

Aベストアンサー

件数が関係するか調べるのであれば、

SELECT * INTO 新規テーブル From テーブル元
WHERE 1=2

のように、ありえない条件を記述して空のテーブルを作ってみれば確認できます。

件数が多いというのであれば、単純にタイムアウトしているだけでは?

排他制御でロックがかかっているということはないんですよね?

QDB2のコマンドラインexportで複雑なselectの指定は可能?

オラクルだとspoolでselect文の出力結果をCSV形式等にして取得できるのですが、DB2で同じ事が可能かと調べてます。db2コマンドのexportを使えばできそうかと思うのですが、複雑なselect文の時にコマンドラインに全部書かなければならないのか、他に手段があるのか、悩んでいます。

Aベストアンサー

export コマンドを使ったCVS形式でのファイル出力    →できます
コマンドラインではなく外部ファイルを使用したSQLの実行 →できます

具体的なやり方
以下のファイル(hoge.txt)を作成する。
----------------------------------------------------------
connect to DB名 user DBユーザー名 using パスワード;
export to ファイル名 of del SQL文(ex select * from hoge) ;
connect reset;
----------------------------------------------------------
db2 -tvf hoge.txt

でできます。
windowsだと、db2コマンドウィンドウで、
UNIX、Linuxなら、db2インスタンスユーザー等、
db2コマンドが使える状態になっていないとできません。

参考URL:http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/core/r0008303.htm

export コマンドを使ったCVS形式でのファイル出力    →できます
コマンドラインではなく外部ファイルを使用したSQLの実行 →できます

具体的なやり方
以下のファイル(hoge.txt)を作成する。
----------------------------------------------------------
connect to DB名 user DBユーザー名 using パスワード;
export to ファイル名 of del SQL文(ex select * from hoge) ;
connect reset;
----------------------------------------------------------
db2 -tvf hoge.txt

でできます。
window...続きを読む

QMS SQL Server のselectで金額フォーマット表示

MS SQL Serverでselect時に金額フォーマットをしたいと考えています。Oracleでいうと
select to_char(123456, '9,999,999') from dual
というやつです。
やり方を教えていただけますか?
宜しくお願いします。

Aベストアンサー

申し訳ありませんでした。改めて調べてみました。

大半は受け取った側で整形すればいいというものでした。
# 日付の書式変換はあるのに。。。と思いました。
# おそらく文化の違いでしょうかね。

http://www.users.gr.jp/ml/archive/list.aspx?name=sql&no=1568
からの[SQL:01568] Format 関数みたいなもの?のスレッドを参照してください。
質問者の方が1585でソースを書かれています。

一応、CONVERTやCASTがあるようで、そちらでもできないことは無いようです。

http://www.sqlpassj.org/bbs/ml_disp.aspx?forum_id=1&current_page=5&disp_mode=0&search_mode=1&ispre=0&mid=13097
の「Re: 数値から文字列への変換について」辺りを参考にしてください。
逆転の発想(?)での変換方法もありました。

参考URL:http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/tsqlref/ts_ca-co_2f3o.asp

申し訳ありませんでした。改めて調べてみました。

大半は受け取った側で整形すればいいというものでした。
# 日付の書式変換はあるのに。。。と思いました。
# おそらく文化の違いでしょうかね。

http://www.users.gr.jp/ml/archive/list.aspx?name=sql&no=1568
からの[SQL:01568] Format 関数みたいなもの?のスレッドを参照してください。
質問者の方が1585でソースを書かれています。

一応、CONVERTやCASTがあるようで、そちらでもできないことは無いようです。

http://www.sqlpassj.org/bbs...続きを読む

Qfrom...where を from...join..on にするには

以下のSQL文は from ... where ... で書かれていますが
これを from ... join ... on ... で書き直したいのですが可能でしょうか?

select X.col1, U.col1

from TABLE_X as X ,TABLE_U as U

where U.REC_NO = (select B.REC_NO
from TABLE_A as A, TABLE_B as B
where A.ITME = B.ITEM
and X.DATA = A.DATA
fetch first 1 row only )

むずかしくしているのは、fetch first 1 row only なのですが
これがないと where句のかっこのなかのselect文は複数の結果を返します
しかし、その複数の結果はすべて同じものになることがデータ上保証されています

fetch first を除いて select distinct としても同じ結果となりますが
パフォーマンスがひどく低下してしまいます。

以下のSQL文は from ... where ... で書かれていますが
これを from ... join ... on ... で書き直したいのですが可能でしょうか?

select X.col1, U.col1

from TABLE_X as X ,TABLE_U as U

where U.REC_NO = (select B.REC_NO
from TABLE_A as A, TABLE_B as B
where A.ITME = B.ITEM
and X.DATA = A.DATA
fetch first 1 row only )

むずかしくしているのは、fetch first 1 row only なのですが
これがないと w...続きを読む

Aベストアンサー

on句は結合条件でfetch firstは抽出条件なのでwhere句をon句にする単純な書き直
しはできないと思います。やるとしたら副選択のselect文をfrom句に書いて一時テーブルとしてfetch firstをdistinctにするしかないような気がします

select X.col1, U.col1
from
(select distinct B.REC_NO
from TABLE_A as A, TABLE_B as B
where A.ITME = B.ITEM
and X.DATA = A.DATA) as Z
inner join TABLE_X as X on ...
inner join TABLE_U as U on ...

fetch first にくらべて distinct なので遅いような気がしますが
実際には副選択がないためにそための内部的に作られる一時表が軽くなるのでこちらのほうが速いと思います。


人気Q&Aランキング

おすすめ情報