カテゴリー: SQL

RDB, SQL

EXISTSとINの使い分け【SQL】

  EXISTSとINは場合によって使い分ける。 間違うと遅くなる…🐱 結論として 従属表の選択性が高い場合 → 従属表から先に絞り込むIN 従属表の選択性が低い場合 → 主表から先に絞り込むEXISTS 両方の選択性が低い場合 → EXISTS 本の検索による例   世界の本のデータベース bookを主表、book_categoryを従属表とする 主表 bookテ …

MySQL, SQL

SQL グループの中で最新の日付のデータを取得する MySQL

●tb_user_section user_id section_id created 1 1 2020-05-11 20:00:00 1 2 2020-05-12 20:00:00 1 3 2020-05-13 20:00:00 2 1 2020-05-15 20:00:00 3 2 2020-05-18 20:00:00 3 4 2020-05-19 20:00:00 user_idのグループ …

SQL

Laravel クエリスコープを使おう!🐱 Query Scope

ORM?流行りものでしょ SQLで良くね?😨 → クエリスコープで保守しやすくなるぞ🐱 ●抽象的に内容がわかるから保守性アップ ●条件分岐と組みあわせてクエリの組み立ての柔軟性 ●コードが短く目と頭にやさしい#駆け出しエンジニア #プログラミング初心者 https://t.co/5sbnGp5iYW — 優さん🌷わくわく開発YouTuber (@yuu13n6) May 16, 2020 まずはS …

MySQL, SQL, PHP

Laravel SQLを実行 ヒアドキュメント クロス集計

手の込んだ集計などはSQLで取った方がシンプルになることも多い ヒアドキュメントを利用して記述するのが良いですね🐱 <?php namespace App\Services; use App\Services\Service; use Illuminate\Support\Facades\DB; class GetsectionParentGoalService extends Servic …

SQL

WordPressドメイン, HTTPSからHTTPに変更するSQL

  WordPressも春めいてきましたね!😊 暖かさにうきうきしてドメインを変えてみたくなったり ALBを利用したくなって HTTPSから薄手のHTTPに衣替えする季節になってきました そんな春の訪れを感じるクエリ🐱🌸https://t.co/DYEWSw0Ufx#WordPress#progate#駆け出しエンジニアと繋がりたい   — 優さん🌷わくわく開発YouTuber (@yu …

MySQL

MySQL xxx doesn’t have a default value

MySQL5.6以降から規約が厳しくなった。 SQLを改善する MySQLの設定で緩める     今回はMySQLの設定を緩めることで対応   /etc/my.cnf sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES ↓ sql_mode=NO_ENGINE_SUBSTITUTION   対応 $ systemct …

SQL

Laravel Exists SQL孫テーブルのレコードがあるかチェック

    sections.id = 4 && companys.master_id = 1のレコードが存在するのかチェックする例を示します。 SQL select exists( select * from `sections` inner join `contents` on `contents`.`id` = `sections`.`content_id` inner …

SQL

SQL 同じテーブルのレコードの列に別の列の値で更新する

  全件のカラム2の値をカラム1に代入して更新する例   UPDATE テーブル名 SET テーブル名.カラム1 = テーブル名.カラム2     具体例 実際使う時は、条件を指定することが多い。 UPDATE administrators SET administrators.login_info = administrators.remarks WHERE adm …

MySQL, RDB, SQL

MySQL5.7 いいね機能のSQL

    SQLの実行順序おさらい   SELECT 列の抽出対象 FROM テーブル名 WHERE 行の絞り込み条件 GROUP BY hoge_colum HAVING 100 > amount Aテーブルの列と行を切り出しイメージをする Bテーブルの列と行を切り出しイメージをする ONで結合条件を指定 WHEREで行を絞りこむ GROUP BYでグループ化 …

RDB, SQL

SQLの書き方 SQL書き方ドリルを通して

  表紙だけ見るとかなりぬるそうなのだけれど本格的! 秀逸な本?ソフトウェア。   同梱されているソフトウェアで演習できるのですが、クオリティが高く問題数も多くて、教材としてすごく良くできてるのですよね。 本屋でぱらぱら見ると『SQLを紙に書く本?』に見えてしまって魅力がわからないと思うのですが、メインはCDに収録されているソフトです。 段階的に暗記せずにSQLが組めるように考 …

MySQL, RDB, チューニング, Linux

MySQL SHOWによる解析とチューニング

MySQLのチューニング調査依頼で時短で終わるように   バージョン CentOS7 MySQL5.6   DB, テーブルのDBエンジンの確認   データベースの確認 mysql> show databases; +——————–+ | Database | +——————–+ | information_s …