LoginSignup
3
1

More than 5 years have passed since last update.

SQL SELECT基礎(2) スカラ値いろいろ

Last updated at Posted at 2017-05-15

この記事は「SQL SELECT基礎」の第2回目です。
SQL SELECT基礎 目次
←前の記事はSQL SELECT基礎(1) データと表
→次の記事はSQL SELECT基礎(3) その場で表を作る

※以下がわかっていたらこの章は飛ばしてOK

  1. SELECT文で「Hello, world」と出力して下さい。
  2. SELECT文中にはダブルクォーテーションで囲まれている単語と、囲まれていない単語が登場します。
    両者は何が違うのでしょう?説明して下さい。

スカラ値いろいろ

前回の記事で、表の枠の中にはスカラが入っていると書きました。
具体例を書いていきます。

文字列

スカラの代表例は文字列です。
プログラミング言語を学ぶとき、最初にHello, world!を出力する、というお約束があります。
SELECT文で書くならこんな感じです。

SELECT "Hello, world!"

各自の環境で実行してみて下さい。ちゃんと返ってくるはず。
image.png

こんな風に、SQL文中で文字列を表現する場合は「"」ダブルクォーテーションか、「'」シングルクォーテーションで囲みます。文字列本体に「"」が登場する場合は「'」で囲うと読みやすくなりますね。

SELECTというキーワードはダブルクォーテーションでくくってないことに気をつけて下さい。これは「予約語」と呼ばれる特殊なキーワードで、SELECTは「これからデータベースに問い合わせますよ〜」という合図になります。

整数

データベースに数字を保存することは多いですね。もちろん数字も扱うことができます。

SELECT 123

マイナスも書けます。

SELECT -123

小数も書けます。

SELECT 1.08

その場で四則演算も書けますよ!計算された結果が得られます。
計算の優先順位を示すのにカッコを使うことができます。

SELECT (100 + 250) * 1.08

真偽値

各種プログラミング言語だと、真偽値(true/false)が用意されていることがあります。

MySQLの場合、true/falseというキーワードは用意されていますが、0はfalseとみなされ、0以外はtrueとみなされます。

今の時点ではよくわからないと思うので、WHERE句の回で詳しく解説します。

日付・時刻

日時系はデータベースによって方言が激しいジャンルです。

MySQLでサーバーの現在時刻を調べるには

SELECT NOW()

もしくは

SELECT CURRENT_TIMESTAMP

とすればよいですが、まあ、マニュアルを読みながら試してみるとよいです。筆者もよく覚えていません。

MySQL :: MySQL 5.6 リファレンスマニュアル :: 12.7 日付および時間関数

他にも記法を調べたい場合は、公式マニュアルを読んでみましょう。
MySQL :: MySQL 5.6 リファレンスマニュアル :: 11 データ型

関数

ところで、先程しれっとNOW()というワードが出てきました。こういう後ろにカッコを付けて書くものは関数と言って、MySQLに予め用意されている機能の一つです。実行すると何か特別な値を返してくれたり、値を加工してくれたりします。

例えばこんなのがあります。

  • CONCAT(text1, text2, text3, ...) ... カッコの中に書いた複数の文字列を連結し、一つの文字列にして返します
  • NOW() ... 現在時刻を返します
  • FLOOR(108.012) ... 小数点を切り捨て、この場合だと108を返します。

非常にたくさんあるので、調べながら使うと良いです。追々、よく使うものだけ覚えていきましょう。

MySQL :: MySQL 5.6 リファレンスマニュアル :: 12 関数と演算子

補足

  • この記事はFROM句を省略できるというMySQLの方言を使って記載しています。OracleやDB2だと省略できないので、ちょっと記法が変わります。

この記事は「SQL SELECT基礎」の第2回目です。
SQL SELECT基礎 目次
←前の記事はSQL SELECT基礎(1) データと表
→次の記事はSQL SELECT基礎(3) その場で表を作る

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1