MySQLデータベースの高度なSQLステートメント(1)

準備オーケー

use test;
create table city (Region char (20),Name char(20));
insert into city values('south','shanghai');
insert into city values ('south','hunan');
insert into city values ('north','beijing');
insert into city values ('north','tianjin');

create table tickets (Store_Name char(20),Sales int(10),Date char(10));
insert into tickets values('beijing','1250','2021-1-28');
insert into tickets values ('tianjin','750','2021-1-29');
insert into tickets values('beijing','500','2021-1-30');
insert into tickets values('shanghai','1800','2021-1-31');

ここに画像の説明を挿入
ここに画像の説明を挿入

1つは、MySQLの高度なSQLステートメントです。

選択する

テーブルの1つまたは複数のフィールドにすべてのデータを表示します
構文:SELECT“ field” FROM“ table name”;

例:select Store_Name FROM tickets;

ここに画像の説明を挿入

DISTINCT

重複データを表示しません。
構文:SELECT DISTINCT“ field” FROM“ table name”;

例:select distinct Store_Name FROM tickets;

ここに画像の説明を挿入

どこ

条件付きクエリ
構文:SELECT "field" FROM "table name" WHERE "condition";

例:select Store_Name FROM tickets where Sales > 1500;

ここに画像の説明を挿入

およびまたは

およびまたは
構文:SELECT "field" FROM "table name" WHERE "condition 1" {[AND | OR] "condition 2"} +;

例:select Store_Name FROM tickets where Sales > 1500 or (Sales < 1000 and Sales > 500);

ここに画像の説明を挿入

既知の値のデータを表示します
構文:SELECT“ field” FROM“ table name” WHERE“ field” IN( 'value 1'、 'value 2'、…);

select * from tickets where Store_Name in('tianjin','shanghai');

ここに画像の説明を挿入

の間に

2つの値の範囲でデータを表示します。
構文:SELECT "field" FROM "table name" WHERE "field" BETWEEN'value 1'AND'value 2 ';

select * from tickets where Date between '2021-1-29' and '2021-1-31';

ここに画像の説明を挿入

ワイルドカード

通常、ワイルドカードはLIKE
と一緒に使用されます:パーセント記号はゼロ、1つ以上の文字を意味します
_:アンダースコアは単一の文字
「A_Z」を意味します:「A」で始まり、任意の値を持つ別の文字で、「Z」で始まるすべての文字は終了文字列。たとえば、「ABZ」と「A2Z」はどちらもこのパターンに準拠していますが、「AKKZ」は準拠していません(AとZの間に1つではなく2つの文字があるため)。
'ABC%' :: 'ABC'で始まるすべての文字列。たとえば、「ABCD」と「ABCABC」の両方がこのパターンに準拠しています。
'%XYZ': 'XYZ'で終わるすべての文字列。たとえば、「WXYZ」と「ZZXYZ」の両方がこのパターンに準拠しています。
'%AN%':パターン 'AN'を含むすべての文字列。たとえば、「LOSANGELES」と「SANFRANCISCO」はどちらもこのモデルに準拠しています。
「_AN%」:2番目の文字が「A」で3番目の文字が「N」のすべての文字列。たとえば、「SAN FRANCISCO」はこのモデルに適合しますが、「LOSANGELES」はこのモデルに適合しません。

お気に入り

パターンに一致して、必要なデータを見つけます。
構文:SELECT "field" FROM "table name" WHERE "field" LIKE {pattern};

select * from tickets where Store_Name like '%an%';

ここに画像の説明を挿入

ORDER BY

キーワードで並べ替え
構文:SELECT "column" FROM "table name" [WHERE "condition"] ORDER BY "column" [ASC、DESC];
#ASCは、デフォルトの並べ替え方法である昇順で並べ替えられます。
#DESCは降順でソートされます。

select Store_Name,Sales,Date from  tickets order by Sales desc;
select Store_Name,Sales,Date from  tickets order by Sales asc;

ここに画像の説明を挿入

二、機能

数学関数

abs(x) xの絶対値を返します
rand() 0から1までの乱数を返します
mod(x、y) xをyで割った余りを返します
パワー(x、y) xをyの累乗に戻します
round(x) xに最も近い整数を返します
round(x、y) 丸め後、xのyの小数点以下の桁数を維持します
sqrt(x) xの平方根を返します
truncate(x、y) 小数点以下y桁に切り捨てられた数値xの値を返します(小数点以下のy桁のみが保持されます)
ceil(x) x以上の最小の整数を返します
床(x) x以下の最大の整数を返します
最大(x1、x2…) コレクション内の最大値を返します
最小(x1、x2…) セット内の最小値を返します

例:
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

集計関数

avg() 指定された列の平均値を返します
カウント() 指定された列のNULL以外の値の数を返します(空でない行番号)
最小() 指定された列の最小値を返します。
max() 指定された列の最大値を返します
sum(x) 指定された列のすべての値の合計を返します
例:
select avg(Sales) from tickets;
select count(Sales) from tickets;
select min(Sales) from tickets;
select max(Sales) from tickets;
select sum(Sales) from tickets;

ここに画像の説明を挿入

文字列関数

トリム() 指定された形式なしで値を返します
concat(x、y) 提供されたパラメーターxおよびyを文字列に連結します
substr(x、y) 文字列xのy番目の位置から文字列を取得します。これはsubstring()関数と同じ効果があります。
substr(x、y、z) 文字列xのy番目の位置から始まる長さzの文字列を取得します
長さ(x) 文字列xの長さを返します
replace(x、y、z) 文字列xの文字列zを文字列yに置き換えます
アッパー(x) 文字列xのすべての文字を大文字に変更します
lower(x) 文字列xのすべての文字を小文字に変更します
left(x、y) 文字列xの最初のy文字を返します
right(x、y) 文字列xの最後のy文字を返します
繰り返し(x、y) 文字列をxy回繰り返します
スペース(x) Xスペースが返されます
strcmp(x、y) xとyを比較すると、戻り値は-1,0,1になります。
reverse(x) 逆文字列x

例:

select trim(leading 'ab' from 'abcde');
select trim(trailing 'de' from 'abcde');
select trim(both 'a' from 'abcde');
select trim(both 'e' from 'abcde');

**大胆なスタイル**

select concat(Region,Name) from city where Region = 'north';

ここに画像の説明を挿入

select substr(Store_Name,5,2) from tickets;

ここに画像の説明を挿入

select length(Name) from city;

ここに画像の説明を挿入

select replace(Region,'th','abc') from city;

ここに画像の説明を挿入

select upper(Name) from city;

ここに画像の説明を挿入

select lower(ABCDE);

ここに画像の説明を挿入

select left(Name,2) from city;
select right(Name,2) from city;

ここに画像の説明を挿入

select repeat(Name,3) from city;

ここに画像の説明を挿入

select space(3);

ここに画像の説明を挿入

select strcmp(10,50);
select strcmp(50,10);
select strcmp(10,10);

ここに画像の説明を挿入

select reverse(Region) from city;

ここに画像の説明を挿入

つづく...

おすすめ

転載: blog.csdn.net/weixin_51613313/article/details/113849677