Webサイト制作コースのお申し込みはこちら Webサイト制作コースのお申し込みはこちら

SQLで使用できる記号についてまとめています。

SQLの記号とサンプルコード

+(プラス)、-(マイナス)、*(アスタリスク)、/(スラッシュ)

これらは、四則演算をおこなう際に使う記号です。*(アスタリスク)は掛け算、/(スラッシュ)は割り算になります。

  1. mysql> select 1+1;
  2. +-----+
  3. | 1+1 |
  4. +-----+
  5. | 2 |
  6. +-----+
  7. 1 row in set (0.00 sec)
  8.  
  9. mysql> select 10-7;
  10. +------+
  11. | 10-7 |
  12. +------+
  13. | 3 |
  14. +------+
  15. 1 row in set (0.00 sec)
  16.  
  17. mysql> select 5*5;
  18. +-----+
  19. | 5*5 |
  20. +-----+
  21. | 25 |
  22. +-----+
  23. 1 row in set (0.00 sec)
  24.  
  25. mysql> select 20/3;
  26. +--------+
  27. | 20/3 |
  28. +--------+
  29. | 6.6667 |
  30. +--------+
  31. 1 row in set (0.00 sec)

【関連記事】
SQLの演算子を使って計算や値の比較をする 

=(イコール)、<、>(不等号)

イコールや不等号は、主にwhere句の条件式で使用します。下記のサンプルコードは、条件式が真のときのみtrueを表示します。

  1. mysql> select "true" where 1=1;
  2. +------+
  3. | true |
  4. +------+
  5. | true |
  6. +------+
  7. 1 row in set (0.00 sec)
  8.  
  9. mysql> select "true" where 1!=1;
  10. Empty set (0.00 sec)
  11.  
  12. mysql> select "true" where 1=1;
  13. +------+
  14. | true |
  15. +------+
  16. | true |
  17. +------+
  18. 1 row in set (0.00 sec)
  19.  
  20. mysql> select "true" where 1=0;
  21. Empty set (0.00 sec)
  22.  
  23. mysql> select "true" where 1>0;
  24. +------+
  25. | true |
  26. +------+
  27. | true |
  28. +------+
  29. 1 row in set (0.01 sec)
  30.  
  31. mysql> select "true" where 1<0;
  32. Empty set (0.00 sec)

!(エクスクラメーションマーク)

!(エクスクラメーションマーク、またはビックリマーク)は、notあるいは否定の意味で使用します。

  1. mysql> select "true" where 1 != 0;
  2. +------+
  3. | true |
  4. +------+
  5. | true |
  6. +------+
  7. 1 row in set (0.00 sec)
  8.  
  9. mysql> select "true" where 1 != 1;
  10. Empty set (0.00 sec)

%(パーセント)、_(アンダースコア)

%(パーセント)、_(アンダースコア、アンダーバー)はlike条件式のワイルドカードとして使用します。

  1. mysql> select "true" where "test" like '%e%';
  2. +------+
  3. | true |
  4. +------+
  5. | true |
  6. +------+
  7. 1 row in set (0.00 sec)
  8.  
  9. mysql> select "true" where "test" like '%d%';
  10. Empty set (0.00 sec)
  11.  
  12. mysql> select "true" where "test" like 'tes_';
  13. +------+
  14. | true |
  15. +------+
  16. | true |
  17. +------+
  18. 1 row in set (0.00 sec)
  19.  
  20. mysql> select "true" where "test" like '%s_';
  21. +------+
  22. | true |
  23. +------+
  24. | true |
  25. +------+
  26. 1 row in set (0.00 sec)

【関連記事】
SQLのワイルドカードは、like句にマッチング文字列を指定

@(アットマーク)

@(アットマーク)は、SQL内またはストアドプロシジャ内での変数を表すために使います。下記は、@v1という変数に値を設定し、格納された値を格納するサンプルです。変数を使った四則演算や関数に引数として渡すことも可能です。

  1. mysql> set @v1=100;
  2. Query OK, 0 rows affected (0.00 sec)
  3.  
  4. mysql> select @v1;
  5. +------+
  6. | @v1 |
  7. +------+
  8. | 100 |
  9. +------+
  10. 1 row in set (0.00 sec)
  11.  
  12. mysql> select @v1+200;
  13. +---------+
  14. | @v1+200 |
  15. +---------+
  16. | 300 |
  17. +---------+
  18. 1 row in set (0.00 sec)

\(バックスラッシュ/円マーク)

\(バックスラッシュ、円マーク)は、文字のエスケープに使います。ダブルクォーテーション内でダブルクォーテーションを使う場合や、タブ文字(\t)、開業(\n)を表す際に使用します。

  1. mysql> select "\"";
  2. +---+
  3. | " |
  4. +---+
  5. | " |
  6. +---+
  7. 1 row in set (0.00 sec)
  8.  
  9. mysql> select "\t";
  10. +---+
  11. | |
  12. +---+
  13. | |
  14. +---+
  15. 1 row in set (0.00 sec)
  16.  
  17. mysql> select "a\tb";
  18. +-----+
  19. | a b |
  20. +-----+
  21. | a b |
  22. +-----+
  23. 1 row in set (0.00 sec)
  24.  
  25. mysql> select "a\nb";
  26. +-----+
  27. | a
  28. b |
  29. +-----+
  30. | a
  31. b |
  32. +-----+
  33. 1 row in set (0.00 sec)

&(アンパッサンド)/ |(パイプライン)/^(キャレット)/~(チルダ)/<<、>>(不等号2つ)

これらは、ビット演算をおこなう際に使用します。

&(アンパッサンド)は論理積、|(パイプライン)は論理和、^(キャレット)は、排他的論理和、~(チルダ)はビット反転、<<、>>(不等号2つ)は、ビットシフトをあらわします。

  1. ysql> select 1 & 1;
  2. +-------+
  3. | 1 & 1 |
  4. +-------+
  5. | 1 |
  6. +-------+
  7. 1 row in set (0.00 sec)
  8.  
  9. mysql> select 1 | 1;
  10. +-------+
  11. | 1 | 1 |
  12. +-------+
  13. | 1 |
  14. +-------+
  15. 1 row in set (0.00 sec)
  16.  
  17. mysql> select 1 ^ 1;
  18. +-------+
  19. | 1 ^ 1 |
  20. +-------+
  21. | 0 |
  22. +-------+
  23. 1 row in set (0.00 sec)
  24.  
  25. mysql> select ~ 1;
  26. +----------------------+
  27. | ~ 1 |
  28. +----------------------+
  29. | 18446744073709551614 |
  30. +----------------------+
  31. 1 row in set (0.00 sec)
  32.  
  33. mysql> select 1 << 1;
  34. +--------+
  35. | 1 << 1 |
  36. +--------+
  37. | 2 |
  38. +--------+
  39. 1 row in set (0.00 sec)
  40.  
  41. mysql> select 1 << 2;
  42. +--------+
  43. | 1 << 2 |
  44. +--------+
  45. | 4 |
  46. +--------+
  47. 1 row in set (0.00 sec)
  48.  
  49. mysql> select 1 << 4;
  50. +--------+
  51. | 1 << 4 |
  52. +--------+
  53. | 16 |
  54. +--------+
  55. 1 row in set (0.00 sec)
  56.  
  57. mysql> select 16 >> 2;
  58. +---------+
  59. | 16 >> 2 |
  60. +---------+
  61. | 4 |
  62. +---------+
  63. 1 row in set (0.00 sec)

まとめ

ポテパンダの一言メモ
  • +(プラス)、-(マイナス)、*(アスタリスク)、/(スラッシュ)は四則演算
  • =(イコール)、<、>(不等号)は条件式
  • !(エクスクラメーションマーク)は否定
  • %(パーセント)、_(アンダースコア)は、あいまい検索のワイルドカード
  • @(アットマーク)は、変数
  • \(バックスラッシュ/円マーク)はエスケープ文字
  • &(アンパッサンド)/ |(パイプライン)/^(キャレット)/~(チルダ)/<<、>>(不等号2つ)はビット演算

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。