LoginSignup
0
0

SQL学習備忘録 SQLチートシート③SELECT文に関する修飾語2

Last updated at Posted at 2024-04-30

 以下の Qiita の続きです。以前からお世話になっている共助学習コミニティのモブプロを通して、SQL の直書きの必要にせまられ(?もしかしたら使わない?)、全然分かってないな(or忘れてるな)と感じ、個人用に作っています。もう完全にQiitaが最近はプログラミングに関する学習のノート代わり…(Qiita 考えた人ホンマ偉いな…(・∀・))

〇主な学習参考資料・実験材料

①『スッキリわかるSQL入門 中山 清喬/飯田 理恵子 共著, 株式会社フレアリンク 監修』
Amazonリンク

https://www.amazon.co.jp/%E3%82%B9%E3%83%83%E3%82%AD%E3%83%AA%E3%82%8F%E3%81%8B%E3%82%8BSQL%E5%85%A5%E9%96%80-%E7%AC%AC3%E7%89%88-%E3%83%89%E3%83%AA%E3%83%AB256%E5%95%8F%E4%BB%98%E3%81%8D-%E3%82%B9%E3%83%83%E3%82%AD%E3%83%AA%E3%82%8F%E3%81%8B%E3%82%8B%E5%85%A5%E9%96%80%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E4%B8%AD%E5%B1%B1/dp/4295013390/ref=sr_1_4?crid=R3S0R02A45NW&dib=eyJ2IjoiMSJ9.xInwby6L9meVu-DcOzcsfGzSfA1TV5kHAI58d3yqbfFMpcMhpEpLBh7sv0MjU3gQ8Cz4yhNI5lfvqxmBbR5ERANf8Ob7iqbXgRIgkXGa1KjltvTOtjuOEQhBXmA6K6aQSFy7XZ4Y2UJkRiJ83FoDD3vxUmLTCz_4w2ckeBvzahtYwvMksPr6AgUr0vvgUNjaEwA28iHoEfC94ajVHRmEZE4vpywXnK28LzpJJGIVtiq9FHTnU8IxU6cWgjD2bfmyVYidrxQbXOB_ltcz4kbyaJ0kaJqEaWZ_yU1iRh1NOqk.2UDSmegUKoH6wU_5N866HOyVH34SBolZlXACu53ocsI&dib_tag=se&keywords=%E3%82%B9%E3%83%83%E3%82%AD%E3%83%AA%E5%88%86%E3%81%8B%E3%82%8Bsql%E5%85%A5%E9%96%80&qid=1714370070&sprefix=%E3%82%B9%E3%83%83%E3%82%AD%E3%83%AA%E5%88%86%E3%81%8B%E3%82%8BSQL%2Caps%2C212&sr=8-4

②転職活動時のポートフォリオ(Laravel 10を)に付けた意見投稿フォームのCRUDに紐付けた MySQLWorkbench

①あるカラムにおいて複数の値が一致しているか一気に調べ、一致しているレコードをすべて取得するSELECT文(※論理演算的には「IN」は「or(または)」に相当する)

SELECT *
  FROM table_name1
 WHERE column_name1 IN ('value1', 'value2', )
 /*value~がInteger型などで数値を扱う場合、シングルクォーテーションは除く*/

②あるカラムにおいて複数の値いずれにも一致していないレコードを調べ、それらをすべて取得するSELECT文

SELECT *
  FROM table_name1
 WHERE column_name1 IN ('value1', 'value2', )
 /*value~がInteger型などで数値を扱う場合、シングルクォーテーションは除く*/

③OR演算子で結ばれた2つの条件式をともに満たすレコードをすべて取得するSELECT文

SELECT * 
  FROM tabel_name1
 WHERE ( column_name1 = 'value1'
    OR column_name1 = 'value2' )
   AND ( column_name2 = 'valueX'
    OR column_name2 = 'valueY' )
 /*value~がInteger型などで数値を扱う場合、シングルクォーテーションは除く*/    

※数学における論理演算とは微妙に異なり、()がない場合だと複数の論理演算子が使われているときは「NOT ⇒ AND ⇒ OR」の優先順位に従って、条件式を満たすかどうかDBMSに評価される。そのため、③の文に従うようにするのであれば、()を付けて優先順位を引き上げて矯正する。

0
0
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
0
0