insert into REGION values ('south','shenzhen');
insert into REGION values ('south','hongkong');
insert into REGION values ('north','beijing');
insert into REGION values ('north','tianjin');
#在表一中插入数据
select * from REGION;
#查看表中的所有数据
insert into FARE values ('shenzhen',1000,'2021-01-30');
insert into FARE values ('hongkong',1500,'2021-01-30');
insert into FARE values ('beijing',800,'2021-01-30');
insert into FARE values ('tianjin',500,'2021-01-30');
insert into FARE values ('hongkong',2000,'2021-02-05');
select * from FARE;
2つのSQLステートメントの高レベルの使用
1.SELECT
テーブルの1つまたは複数のフィールドにすべてのデータを表示します
使用法:
SELECT 字段 FROM 表名
例:
select region from REGION;
select money from FARE;
2.DISTINCT
重複データを表示せず、重複を削除します
使用法:
ELECT DISTINCT 字段 FROM 表名
例:
select distinct region from REGION;
select distinct date from FARE;
3.どこで
条件付きクエリ
使用法:
SELECT 字段 FROM 表名 WHERE 条件
例:
select site from FARE where money > 1000;
select site from FARE where money = 1000;
select site from FARE where money < 1000;
4.AND、または
そしてそしてまたは
使用法:
SELECT 字段 FROM 表名 WHERE 条件1 [AND|OR] (条件2);
例:
select site from FARE where money > 800 and (money < 2000);
select site,money from FARE where money < 600 or (money < 2100 and money >700);
select site,money,date from FARE where money >= 500 and (date < '2021-02-07' and moneyy < 1000);
5.IN
既知の情報を表示する
使用法:
SELECT 字段 FROM 表名 WHERE 字段 IN ('值1','值2',...);
例:
select site,money from FARE where money in (1500,500);
select money,date from FARE where money in (800,2000);
6.間
2つの値の範囲内でデータを表示する
使用法:
SELECT 字段 FROM 表名 WHERE 字段 BETWEEN '值1' and '值2';
例:
select * from FARE where money between 500 and 2000;
select * from FARE where money between 666 and 1888;
7.ワイルドカード(LIKE)
通常、ワイルドカードはLIKEと一緒に使用されます
%:パーセント記号は、ゼロ、1つ以上の文字を意味します
_:アンダースコアは単一の文字を表します
LIKE:パターンを照合して情報を見つけるために使用されます
使用法:
SELECT 字段 FROM 表名 WHERE 字段 LIKE ‘模式’;
例:
select * from FARE where site LIKE 'be%';
select * from FARE where site LIKE 'ho%';
select site,money from FARE where site LIKE '%jin_';
select site,money from FARE where site LIKE '%kon_';
8.注文者
キーワードで並べ替え
使用法:
SELECT 字段 FROM 表名 [WHERE 条件] ORDER BY 字段 [ASC,DESC];
#ASC:按照升序进行排序,默认的排序方式
#DESC:按照降序进行排序
例:
select * from FARE order by money desc;
select * from FARE order by money asc;
select date,money from FARE order by money desc;
select date,money from FARE where money > 999 order by money asc;
mysql -uroot -p123123
use train_ticket;
select region || ' ' || site from REGION where region = 'north';
select site || ' ' || money || ' ' || date from FARE;
5.GROUP BY
BYの後の列のクエリ結果は要約およびグループ化され、通常は集計関数と組み合わされます
GROUP BYには原則があります。つまり、SELECTの後のすべての列で、集計関数を使用しない列はGROUPBYの後に表示される必要があります。
使用法:
select site,sum(money) from FARE group by site;
select site,sum(money),date from FARE group by site order by money desc;
select site,count(money),sum(money),date from FARE group by site order by money desc;
6.持っている
GROUP BYステートメントによって返されるレコードのセットをフィルタリングするために使用され、通常はGROUPBYステートメントと組み合わされます
SELECT 字段1,SUM(字段2) FROM 表名 GROUP BY 字段1 HAVING(函数条件);
例:
select site,count(money),sum(money),date from FARE group by site having sum(money) >=800;
7.エイリアス
フィールドエイリアスとテーブルエイリアスに使用されます
使用法:
SELECT “表格別名”.“字段1” [AS] “字段1別名” FROM “表格名” [AS] “表格別名”;
例:
select RE.region AS reg, count(site) from REGION AS RE group by reg;
select FA.site AS si,sum(money),count(money),date AS da from FARE AS FA group by si;
8.サブクエリ
テーブルを接続し、WHERE句またはHAVING句に別のSQLステートメントを挿入します
#可以是符号的运算符
#例:=、>、<、>=、<=
#也可以是文字的运算符
#例:LIKE、IN、BETWEEN
例:
select A.site,region from REGION AS A where A.site in(select B.site from FARE AS B where money<2000);
select B.site,money,date from FARE AS B where site in(select A.site from REGION AS A where region = 'north');