准备工作
location表格
use pyy;
create table location (Region char(20),Store_Name char(20));
insert into location values('East','Boston');
insert into location values('East','New York');
insert into location values('West','Los Angeles');
insert into location values('West','Houston');
Store_Info表格
create table Store_Info (Store_Name char(20),Sales int(10) ,Date char(10));
insert into Store_Info values('Los Angeles','1500','2020-12-05');
insert into Store_Info values('Houston','250','2020-12-07');
insert into Store_Info values('Los Angeles','300','2020-12-08');
insert into Store_Info values('Boston','700','2020-12-08');
----SELECT----
显示表格中一个或数个栏位的所有资料
语法: SELECT "栏位" FROM "表名";
例:SELECT * FROM Store_Info;
----DISTINCT ----
不显示重复的资料
语法: SELECT DISTINCT "栏位" FROM "表名";
例:SELECT DISTINCT Store_Name FROM Store_Info;
----WHERE----
有条件查询
语法: SELECT "栏位" FROM "表名" WHERE "条件";
例:SELECT Store_Name FROM Store_Info WHERE Sales > 1000;
----AND OR----
且或
语法: SELECT "栏位" FROM "表名" WHERE "条件1" {
[AND|OR] "条件2"}+ ;
例:SELECT Store_Name FROM Store_Info WHERE Sales > 1000 OR (Sales < 500 AND Sales > 200);
----IN----
显示已知的值的资料
语法: SELECT "栏位" FROM "表名" WHERE "栏位" IN ('值1','值2', ...);
例:SELECT * FROM Store_Info WHERE Store_Name IN ('Los Angeles','Houston');
----BETWEEN----
显示两个值范围内的资料
语法: SELECT "栏位" FROM "表名" WHERE "栏位" BETWEEN '值1' AND '值2';
例:SELECT * FROM Store_Info WHERE Date BETWEEN '2020-12-06' AND '2020-12-10';
----通配符----
通常通配符都是跟LIKE–起使用的
% :百分号表示零个、一个或多个字符
__:下划线表示单个字符
'A_Z':所有以'A'起头,另一个任何值的字符,且以'Z'为结尾的字符串。例如,'ABZ' 和'A2Z' 都符合这一一个模式,而'AKKZ' 并不符合(因为在A和z之间有两个字符,而不是一个字符)。
'ABC%':所有以'ABC'起头的字符串。例如,'ABCD' 和'ABCABC' 都符合这个模式。
'%XYZ':所有以'XYZ'结尾的字符串。 例如,'WXYZ' 和'ZZXYZ' 都符合这个模式。
'%AN%':所有含有'AN'这个模式的字符串。例如,'LOS ANGELES' 和'SAN FRANCISCO' 都符合这个模式。
'_AN%':所有第二个字母为'A' 和第三个字母为'N' 的字符串。例如,' SAN FRANCISCO' 符合这个模式,而'LOS ANGELES'则不符合这个模式。
----LIKE—
匹配一个模式来找出我们要的资料
语法:SELECT "栏位" FROM "表名" WHERE "栏位" LIKE {
模式};
例:SELECT * FROM Store_Info WHERE Store_Name like '%os%';
----ORDER BY----
按关键字排序
语法:SELECT "栏位" FROM "表名" [WHERE "条件"] ORDER BY "栏位" [ASC, DESC];
#ASC是按照升序进行排序的,是默认的排序方式。
#DESC是按降序方式进行排序。
例:SELECT Store_Name, Sales, Date FROM Store_Info ORDER BY Sales DESC;