クエリとは?クエリの書き方やレコードの取得方法を紹介

kintone(キントーン)は、ビジネスに必要なアプリケーションをノーコードで作ることができるクラウドサービスです。

kintoneのクエリ機能を利用することで、アプリケーション同士の連携がとれるようになり、条件に合うデータの確認が実現します。

本記事では、kintoneのクエリ機能の基礎知識、検索クエリの種類、クエリの書き方についてご紹介します。

クエリの基礎知識

kintoneでクエリを活用するために、まずはクエリの基礎知識や、周辺情報について整理しましょう。

そもそもクエリとは

クエリの名前は、「Query:質問する・尋ねる・問い合わせる・疑念」という意味の英単語が由来です。
kintoneで使用するクエリとは、SQLで書かれたデータベースへの命令文(コード)のことを言います。

データベースとは

データベースは、データの取り扱いを一元管理するシステムのことで、数字や文字列の値(データ)を管理、格納しています。
データベースは大量のデータを効率的に管理し、検索や更新・削除などの操作を実行します。

テーブル(サブテーブル)とは

テーブルとは、行列で表現された値、すなわち表のことです。例えるならば、Excelのワークシートのようなものです。
複数の項目や値について、1つのテーブルで管理できます。
kintoneのテーブルは以前サブテーブルと呼ばれており、一部の解説サイトではまだその名称が残っています。

テーブルと関連レコードの違い

テーブルは、アプリ内で自由に値を追加・削除・参照・更新ができます。関連レコードとは、条件に一致したレコードを表示できる機能ことを言います。kintoneの同アプリ、別アプリの情報を参照できます。

検索クエリの種類

検索クエリとは、ユーザーが検索エンジンに入力する単語や文字列のことです。
検索クエリの種類について解説します。

トランザクショナルクエリ

商品購入や資料請求、問い合わせなど、何らかのアクションを起こす意図のあるユーザーが入力するクエリです。
取引型クエリ(別名:“Buy”クエリ)とも呼ばれ、入力される内容は「サービス・商品などの固有名詞+アクション名」になる傾向があります。

kintone ダウンロード
ケーキ 作り方
陶芸 体験
大阪 美味いたこ焼き屋

購入の場合は、固有名詞の単語のみである傾向があります。

◯◯コンサート チケット
ショットグラス

この検索クエリを狙う目的は、サイトのコンバージョン率(成約率)向上です。
どのようなアクション名があるかは、個々のサービスや商品ごとに分析する必要があります。

ナビゲーショナルクエリ

特定のWebサイトを検索したいユーザーが入力するクエリです。
案内型(別名:“Go”クエリ)とも呼ばれます。
このクエリの特徴は、たどり着きたいWebサイト名の単語のみで構成されている傾向があることです。

Google
株式会社◯◯
△△劇場
◯△ファンクラブ

インフォメーショナルクエリ

何かを知りたい人が入力する検索クエリです。
情報収集型(別名:“Know”クエリ)とも呼ばれ、固有名詞のみや、固有名詞+知りたい情報、「◯◯について」・「◯◯の方法」などと文章になる場合もあります。
購買にはつながりませんが、情報提供型のコンテンツの場合は、情報収集型クエリを狙うとアクセス数向上が見込めます。

ビジットインパーソンクエリ

どこかへ行きたい人が入力する検索クエリです。
エリア型(別名:“Go”クエリ)とも呼ばれます。
地名や店名などの固有名詞のほか、「地図」「営業時間」「時間」などのワードとともに検索される傾向があります。

クエリとSQLの違い

クエリとは、SQLで書かれた命令文のことです。
SQLとは、データベースから情報抽出や追加・修正・管理するための言語です。
つまり、クエリは「SQLを用いて書かれた文(命令)」であるといえます。

CREATE DATABASE db;
USE db;
CREATE TABLE list(
id INT(11) NOT NULL,
name VARCHAR(30) NOT NULL ;
address VARCHAR(255) NOT NULL ;

この文章はSQL言語で書かれており、;(セミコロン)で区切られる一文がクエリに相当します。

SQLの種類

SQL文には、役割ごとに3つの分類ができます。どのような種類があり、具体的にどのように機能できるかを確認しておくと、利用の際に思い出しやすくなるでしょう。

データ定義言語

CREATE  データベースやテーブルを作成
DROP データベースやテーブルの削除
ALTER  データベースやテーブルの変更 ※型や容量を上書き形式で変更できる

 

CREATE DATABASE db;
USE db;
CREATE TABLE list(
id INT(11) NOT NULL,
name VARCHAR(30) NOT NULL ;
address VARCHAR(255) NOT NULL ;
名前「db」のデータベースを作成し、使用します。
dbにlistテーブルを作成し、項目はid(int型11文字まで)、name(vercher型30文字まで)、address(varchar型255まで)とします。
DROP TABLE list;
listテーブルを削除します。
ALTER TABLE list MODIFY COLUMN address VARCHAR(255) NOT NULL;
listの列の容量をvarchar型の255文字に変更します。

データ操作言語

SELECT レコードを検索
UPDATE レコードを更新
DELETE レコードを削除
INSERT レコードを挿入
※前述の「db」データベース内で処理する前提です。
別の名前のデータベースを利用する場合は、そちらの名前に差し替える必要があります。
SELECT name FROM list;
listのテーブルから、nameの項目に分類されるデータを抽出します。
UPDATE name
INSERT name = ‘山田太郎’;
nameの項目に山田太郎を追加します。
DELRTE name = ‘山田太郎’;
nameの項目から山田太郎を削除します。
UPDATE db
SET name = ’yamadataro’;
データベース名dbの項目name内の山田太郎を、yamadataroに変更します。

データ制御言語

GRANT 権限を与える
REVOKE 権限を奪う
COMMIT トランザクションの確定
(直前までの変更を確定、コミットしないと破棄される。commit;のように単独で使用)
ROLLBACK トランザクションの破棄
(直前までの変更を破棄、権限は不要。rollback;のように単独で使用)
GRANT SELECT, INSERT ON employees TO yamadataro;
employeeテーブルにyamadataroが新しく情報の追加権限を得ました。
REVOKE SELECT, INSERT ON employees TO yamadataro;
employeeテーブルからyamadataroは情報の追加権限を失いました。

クエリの書き方

SQL文(クエリ)の書き方について紹介します。今までSQLに触れたことがなくとも、規則があることを知るだけでも十分です。
今後の検索やエラーが減少するきっかけになるでしょう。

演算子

イコールや大なり・小なりなどの演算に必要な記号です。
「フィールドコード(固定値) 演算子 値」のように記述します。
値に応じて利用可能な演算子が違うことに注意しましょう。
演算子は記号のほかにもwhereやas、group byなどさまざまな句があります。

= A = “hello” 演算子前後に指定した値または文字列が一致する。
!= A != “hello” 演算子前後で指定した値または文字列が異なる。NOT。
> 11 > 10 演算子前のフィールドコードの方が後の数字より大きい
< 10 < 11 演算子前のフィールドコードの方が後の数字より小さい
>= 11 >= 10 演算子前のフィールドコードの方が後の数字と同等以上
<= 10 <= 11 演算子前のフィールドコードの方が後の数字と同等以下
|| 文字列の連結
加算。数値と日付に使える。今日に対して未来の日付になる。
減算。数値と日付に使える。今日に対して過去の日付になる。
かけ算。数値のみ。
/ わり算。数値のみ。
where 場所を参照
as 別名をつける
group by 抽出したデータを1つの表ととらえて計算が可能になる

※その他は前述のデータ定義言語の欄を参照

関数

特定のデータ群から指定した条件でデータを抽出します。
QUERY関数では元データの情報更新も反映できます。データベース内で関数を用いれば、入力・追加・更新・削除・参照が自在に可能です。

フィールド

フィールドとはアプリごとに固定された値のことです。フィールドコードとは、APIや計算式でフィールドを指定するときに使用する文字列のことです。
使用できない文字を設定した際はエラーが表示されます。

エスケープ処理

“(ダブルクオート)や \(バックスラッシュ)が含まれるときは、エスケープ処理をします。チェックボックス・複数選択・ステータスなどを選択する際に使用します。
この処理はSQLインジェクション(悪意のある外部ユーザーが、不正にデータベースへアクセスをするための試み)を防止するために行いましょう。

クエリを活用して作業効率を高めましょう

kintoneは、ノーコードでアプリケーションを開発できるクラウドサービスです。kintoneでクエリ(SQL文)を作成することで、効率よくデータを抽出し、業務効率を高められます。

SQLに触れたことがない方でも、kintoneのガイドラインや本記事を参考にしながらクエリ設定をしてみてはいかがでしょうか。

 


▼複数製品も同時に無料お試し!▼