タグ

SQLに関するs_ryuukiのブックマーク (131)

  • 【C#】Dapper忘備録【基本編】 - Qiita

    Qiita Advent Calendar 3回目の参加です。よろしくお願いします。 今年も個人的にお世話になった、Dapperに関するあれこれをまとめました。 Dapper とは .NETプラットフォーム用のマイクロORM(Object-relational mapping)です。 Dapperを使用する場合、SQLとマッピング用のクラスは自力で書く必要があります。SQLを書けることが前提のオブジェクトマッパーです。 通常のORMを使用したことがないのでなんとも言えないのですが、 単純にデータベースとオブジェクトをマッピングする場合、Dapperは非常に使いやすいのではないでしょうか。 Is Dapper an ORM? の項目に、通常のORMとの違いが記載されています。 IDbConnection と Dapper DapperはC#の IDbConnection を拡張して作られてい

    【C#】Dapper忘備録【基本編】 - Qiita
  • 🦐🦐🦐Markdownで書くBIツール、Evidence触ってみた🦐🦐🦐

    気にはなってるけど触ってないビッグデータ系のツール・サービスを触る Advent Calendar 2022の#9です。 Evidenceとは MarkdownSQLクエリやグラフの設定を記載し、レポート用の静的なHTMLドキュメントを作成するツールです。 デモ画面を見ていただくと、作成できるレポートのイメージがしやすいと思います。 この方法(コードでレポートを定義、静的なHTMLドキュメントを作成)により、 ソースコードと同じように、バージョン管理やレビュー SQLクエリの結果を利用した、レポートの動的な制御(テンプレート) 色々な場所への埋め込みがしやすい などのご利益がありそうです。 (Evidence公式サイトより抜粋) インストール・プロジェクトの初期化 プロジェクトを設定するディレクトリで、npx degit evidence-dev/templateコマンドを実行します。

    🦐🦐🦐Markdownで書くBIツール、Evidence触ってみた🦐🦐🦐
  • 今すぐ使えるSQLのNULLとunknownの考え方 - Qiita

    初めに こんにちは。 株式会社HRBrainでバックエンドエンジニアインターンをしている、蔭山といいます。 株式会社HRBrainではアドベントカレンダーに参加しています。 記事は4日目になります。 業務でDBデータを取り扱う機会もあり、改めてDBSQLに関して学び直しました。 今回は、その中からすぐにプログラマとして業務に活かせて、とくに気をつけたほうが良いと感じたSQLでのNULLの取り扱いについて書きたいと思います。 何番煎じか分かりませんが、順を追って説明します。 SQLにおけるNULLとは何か 行のある列の値がない場合、その列はNULLである、またはNULLを含むといいます。NOT NULL整合性制約またはPRIMARY KEY整合性制約によって制限されていない列の場合は、どのデータ型の列でもNULLを含むことができます。実際のデータ値が不定または値に意味がない場合に、NUL

    今すぐ使えるSQLのNULLとunknownの考え方 - Qiita
  • C#でSQL文を再構築(解析・加工)するライブラリを公開しました

    静的なSQLを解析して加工する再構築(解析・加工)ライブラリを開発し、OSSで公開しましたのでご紹介します。 開発言語はC#(.NET6)です。 対象読者 SQLを動的に加工したいバックエンドプログラマ C#、.NETプログラマ デモ 既存のSQLをベースに、Select句とFrom句を改変。Where条件の追加を行うデモ。 var sq = SqlParser.Parse("select a.id, a.val from table_a as a"); //From句を取得します var a = sq.FromClause; //From句にテーブル結合を追加します var b = a.InnerJoin("table_b").As("b").On("id"); //結合したテーブルの列をSelect句に追加します sq.Select.Add().Column(b, "val").As(

    C#でSQL文を再構築(解析・加工)するライブラリを公開しました
  • 【SQL】これ以上の値上げは勘弁してください 。CASE式で正しく値上げする - Qiita

    はじめに 株式会社YUZURIHAの馬場です 昨日、何気なく買ったピノが1個175円 ぐらいしたので値段間違ってる?と疑ってしまったので記事書きました まずは、アイスクリームテーブルを用意 CREATE TABLE ice_cream ( id INT NOT NULL, name VARCHAR(100) NOT NULL, type VARCHAR(32) NOT NULL, price INT, delivery_date DATE, PRIMARY KEY (id) ); INSERT INTO ice_cream VALUES (1, 'BLUE SEAL' ,'ラクトアイス', 300, '2022-09-20'); INSERT INTO ice_cream VALUES (2, 'スーパーカップ' ,'ラクトアイス', 120, '202-08-01'); INSERT I

    【SQL】これ以上の値上げは勘弁してください 。CASE式で正しく値上げする - Qiita
    s_ryuuki
    s_ryuuki 2022/11/15
  • Hasura, PostgreSQL, MySQL対応の速度改善ツールを作りました - GravityR

    はじめに DBが遅い原因の多くはインデックスの作り忘れです。 サーバーの性能アップやパラメータ変更の効果も大きいですが、まず最初に検討するべきはインデックスでしょう。 EXPLAINの結果をにらみながら、効果のありそうな場所を探します。 ただ、厄介なのはEXPLAINの結果が読みづらいことです。 EXPLAINの読み方を説明しているやサイトはいくつもありますが、EXPLAINを使う機会が少ないため、読める人が限られた、職人芸に近い技術になっています。 なので、EXPLAINを読まなくてもインデックスを作れるツールをGoSvelteで作りました。 GravityRを使うと、下のようにEXPLAINをタイムライン形式にした図やインデックスの効果を表示したHTMLが作成されます。 紹介 GravityRはHasura、PostgreSQLMySQLに対応しています。 実行ファイルをgith

    Hasura, PostgreSQL, MySQL対応の速度改善ツールを作りました - GravityR
  • SQL Formatter

  • SQL基礎!! 指摘ビフォーアフター(研修、レビュー、SELECT文) - Qiita

    はじめに 実務未経験でWebエンジニアとして入社してからの2カ月で受けた社内研修についての振り返りです。 SQL のデータ取得( SELECT 文)の答案へのレビューをいくつかピックアップして、SQL文のビフォーアフターを比較します。 記事の目的 同時期に実務未経験でWebエンジニアになって交流している方々(他社の)が、 「他の人が初期にどのような注意を受けているか聞いてみたい」 と言っていたため、私は自分が書いたコードをレビューしてもらった機会はまだ研修のみですが、どのような点をレビューで教えてもらったかについて、共有したいと思います。 振り返りを通して、私自身現在忘れてしまわずに身になっているか確認していきます。 想定する読者 想定する読者は、実務未経験の初学者の方です。(過去の自分を想定して書いてます) どんな社内研修? 社内研修は、Web開発全般についての基礎的な研修で、以下のカリ

    SQL基礎!! 指摘ビフォーアフター(研修、レビュー、SELECT文) - Qiita
    s_ryuuki
    s_ryuuki 2022/10/06
  • Sql => Linq 変換 対応表 in C# - Qiita

    var lists = Library.Books .Where(it => it.PublishedYear == 2020) // ・・・1⃣ .Where(it => it.Price > 990 && it.Price < 4000) // ・・・2⃣ .Where(it => it.Title.Contains($"C#")); // ・・・3⃣ メソッドチェーンの順番について メソッドチェーンは「上から順番に」処理される。 つまり、効率的に対象を絞り込むことができる条件をメソッドチェーンの上位に書くべき。 上記の例では条件1⃣が最も効率がよく、条件3⃣が最も絞り込む効率が悪い。

    Sql => Linq 変換 対応表 in C# - Qiita
  • モデリングはキラキラ技術より地味だが役に立つ / modeling-over-shiny-tech

    # Event データモデリングとデータ基盤の構築・運用 (第14回ちゅらコラボ)CARTA HOLDINGS x ちゅらデータ 合同イベント https://churadata.connpass.com/event/254417/ ぼくのかんがえる最高のレポーティング基盤 https://speakerdeck.com/pei0804/hokufalsekankaeruzui-gao-falserehoteinkuji-pan-at-awsdeshi-jian-analytics-modernization ディメンションモデリングモデリング https://zenn.dev/pei0804/articles/dimensional-modeling スタースキーマ https://zenn.dev/pei0804/articles/star-schema-design コンフォ

    モデリングはキラキラ技術より地味だが役に立つ / modeling-over-shiny-tech
  • GitHub - multiprocessio/dsq: Commandline tool for running SQL queries against JSON, CSV, Excel, Parquet, and more.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - multiprocessio/dsq: Commandline tool for running SQL queries against JSON, CSV, Excel, Parquet, and more.
  • ドメインロジックとSQL - Martin Fowler's Bliki (ja)

    以下の文章は、Martin Fowler による Domain Logic and SQLの日語訳である。 データベース指向ソフトウェア開発者とメモリ上(in-memory)アプリケーションソフトウェア開発者との間のギャップは、ここ数十年、徐々に広がってきている。このギャップが原因で、データベースの機能(SQLやストアドプロシージャ)をどのように扱えばよいのかという議論が数多く巻き起こっている。ここでは、ビジネスロジックを SQL に置くべきか、それともメモリ上のコードに置くべきかといった問題について、主にパフォーマンスと更新性の観点から考察を行う。考察には簡単な例を使うが、SQL クエリはしっかりとしたもの(rich SQL queries)を用いるので悪しからず。 エンタープライズアプリケーション(訳注:以下、EA)構築に関する(私の近著『P of EAA』など)を読むと、ロジック

  • 1文字でSQLを200倍遅くする方法

    こんにちは、19のSysAd班の翠(sappi_red)です。普段はtraQのフロントエンドの保守を行ったりしています。 こんばんは、19のSysAd班のtemmaです。普段は普段どおりのことをしています。この記事の面白い部分はすべて僕が書いています。面白くないところは翠君が書いています。 この記事では、日々パフォーマンスに頭を悩ませる開発者の方のために、ワンタッチで劇遅SQLを200倍高速でキュートなSQLに劇的ビフォーアフターする方法を紹介します。 「おいおいおい、遅くしたくて記事を読み始めたのに話が違うじゃないか💢」と思ってるそこのあなた👈 早くできるということは遅くもできるんですね。 TL;DR ここにテーブルがあります。 CREATE TABLE messages ( id CHAR(36) NOT NULL PRIMARY KEY, text TEXT COLLATE ut

    1文字でSQLを200倍遅くする方法
  • TSQL JOIN Types Poster (Version 3) - Steve Stedman

    So many times I have been asked for help with a query, where the question really comes down to the understanding of the difference between INNER and LEFT or RIGHT JOINs. >>> Try my JOIN types course! I created this poster a few years ago and I keep it posted on the wall at the office. This way when I am trying to explain JOIN types, I just refer to the poster. I have created the poster below to he

    TSQL JOIN Types Poster (Version 3) - Steve Stedman
    s_ryuuki
    s_ryuuki 2022/05/08
  • 社内SQL研修のために作った資料を公開します | 株式会社AI Shift

    こんにちは、Development Teamの三宅です。 先日、社内(AI事業部内)でSQL研修の講師を担当したので、今回はその内容について簡単に共有したいと思います。 はじめに 例年、AI事業部では、新卒エンジニアの育成のためにソフトウェアエンジニア研修を行っております。今年はフルリモートでの実施となりました。研修期間は2週間ほどで、内容は前半が講義、後半が実践(チーム開発)でした。私が担当したのは、講義パートの一部であるSQL研修です。SQLRDBにあまり慣れていない人でも、できるだけ体系的な学びが得られるようにすることを目標に、様々な資料をまとめて提供する方針で準備しました。結果的には、ハンズオン込みで4時間ほどのやや長い講義となりましたが、勉強になったという声も頂けたのでやって良かったと思っています。 研修資料 研修内容 SQL研修の内容は、基的には大学のデータベース講義で

    社内SQL研修のために作った資料を公開します | 株式会社AI Shift
  • Soda SQLとStreamlitでポータブルなデータ品質チェックツールを実装する

    以前、Great Expectationsを使ったデータバリデーションの仕組みについての記事を書きました。 Great Expectationsはデータに対するテスト実行とプロファイリングを実行し、結果をHTMLで出力してくれる、高機能で便利なツールでした。しかし、環境の構築や設定の準備に手間が掛かり、スモールスタートでテストだけ始めたいというような場合は導入のコストがネックになると思います。 一方で、Great Expectationと同様に有名なツールとして、Soda SQLというものがあります。こちらは、コマンドラインツールで、pipでインストールしてYAMLでテストやプロファイリングの設定を記述すればすぐに実行することができます。 ただし、テストやプロファイリングの実行結果はJSONになるので、Webブラウザでレポートを見たいといった場合には、自前でその仕組みを実装する必要がありま

    Soda SQLとStreamlitでポータブルなデータ品質チェックツールを実装する
    s_ryuuki
    s_ryuuki 2022/03/24
  • 『データ分析のためのSQL勉強会』資料公開|高橋 光 | 著書『データ分析力を高める ビジネスパーソンのためのSQL入門』

    このでは、無料で公開しているnoteの内容をさらに丁寧に分かりやすく、体系化させてアップデートした内容となっています。 noteの内容を立ち読みだと思ってもらい、より丁寧に学びたい場合は是非書籍を読んでもらえると嬉しいですmm これからSQLを学びたいと思っている方向けに作成したSQL勉強会の資料を公開します!(以下の方向けの勉強会資料です) SQLをこれから学びたい人 仕事SQLを触り始めたけどイマイチよくわからない人 データ集計やデータ分析をエクセル使ってやってる人 資料こちらから最新の資料をダウンロードして下さい。 (※「Source code (zip)」からダウンロードして下さい) 資料の構成は以下の通りです。 docs PDF資料 演習問題など含めて全部で約200ページくらいあります data ハンズオン用テストデータ csvファイル3つ script ハンズオン用テストデ

    『データ分析のためのSQL勉強会』資料公開|高橋 光 | 著書『データ分析力を高める ビジネスパーソンのためのSQL入門』
  • SQLクエリを実行、クエリ結果を可視化できるウェブアプリ「SQLPad」を試してみた | DevelopersIO

    こんにちは!DA(データアナリティクス)事業部 サービスソリューション部の大高です。 SQLクエリをローカル環境でウェブアプリとして実行できるものが無いか少し探していたのですが、「SQLPad」というアプリケーションを見つけたので実際に試してみたいと思います。 SQLPadとは SQLクエリを実行、クエリ結果を可視化できるセルフホスティング型のウェブアプリケーションです。2022年1月現在では以下の15個のデータベースに対応しており、ODBCにも対応しているのでODBC接続を利用すれば、これ以外のデータベースにも接続可能なようです。 Postgres MySQL SQL Server ClickHouse Crate Vertica Trino Presto Pinot Drill SAP HANA Snowflake BigQuery SQLite TiDB 公式サイトでの解説は以下の

    SQLクエリを実行、クエリ結果を可視化できるウェブアプリ「SQLPad」を試してみた | DevelopersIO
  • DBスキーマ変更管理ツール sqldef を試してみた - Qiita

    1. sqldef とは sqldef は "The easiest idempotent MySQL/PostgreSQL/SQLite3/SQL Server schema management by SQL." と謳っているDBスキーマ変更管理ツールです。 通常の開発において DDL 文を管理する場合、環境を1から作るように CREATE TABLE 文など新規作成 DDL 文を準備すると共に、既に作成済みの環境でテーブルを変更するために ALTER TABLE 文など差分適用 DDL 文を準備する必要があります。この2種類の DDL 文を二重管理しないといけないというのは DBA にとっては頭の悩ましい問題でした。(差分適用 DDL 文のみ準備し、1から環境を作る場合も全ての変更を適用するという手もありますが…) sqldef を利用すると、変更適用先 DB の現在の状況と新規作成

    DBスキーマ変更管理ツール sqldef を試してみた - Qiita
  • SQL等価性検証ツールCosetteを使ってみた - Qiita

    はじめに 皆さん、SQLチューニングしてますか?(唐突) 私は仕事RDBMSSQLチューニングをすることが多いのですが、たまにチューニングの一環で SQL文の書き換え をすることがあります。 その際に問題になるのが、書き換えたSQL文が等価であるかどうかの確認が大変なことです。 SQL文を書き換えた場合には、想定通りの結果を取得できるか確認するために、テストをやり直す必要があります。 これが開発早期のフェーズならまだましなのですが、結合テスト以降だと手戻りも多くかなりコストがかかりますし、既に番運用が始まったシステムともなると、テスト自体が困難なこともあります。 また、複雑なSQL文だと網羅的なテストケースを作成すること自体が困難であるため、完全に正しいと確信することはできません。 なので、SQL文の書き換えの正しさを証明する良い手段はないかと考えていました。 SQLチューニングとは

    SQL等価性検証ツールCosetteを使ってみた - Qiita