一.SELECT语句 SELECT COL1,COL2,....COLn FROM TABLE1,TABLE2,....TABLEn

[WHERE CONDITIONS] -- 查询条件

[GROUP BY GROUP_BY_LIST] -- 查询结果分组

[HAVING CONDITIONS] -- 查询条件-统计结果作为条件

[ORDER BY ORDER_LIST[ASC|DESC] -- 查询结果排序

 

二.简单查询

1.查询表的全部行和列

eg:查询玩家表中全部的行和列

 select  user_qq,user_name,user_sex,user_birthday,user_mobile from users;

 select * from users;

2.查询表的部分列

eg:从玩家表中查询玩家QQ和昵称

select user_qq,user_name from users;

3.别名的使用

eg:从玩家表中查询玩家QQ和昵称,并显示为‘玩家QQ' 和 '玩家昵称'

select user_qq as '玩家QQ',user_name as '玩家昵称' from users;

select user_qq '玩家QQ',user_name '玩家昵称' from users;

4.DISTINCT关键字 -消除结果集中的重复行

eg:显示参与了游戏的玩家QQ,要求参与了多个游戏的玩家不重复显示QQ

select distinct user_qq from scores;

5.LIMIT关键字 -指定结果集中数据的显示范围

eg:显示玩家表中第3至第5条数据

select * from users limit 2,3;

select*from users limit 3 ---只显示前三条数据

 

三.条件查询

1.普通条件查询

语法:SELECT COL_LIST FROM TABLE_NAME [WHERE CONDITION_EXPRESSION]

eg1:查询QQ号为12301的玩家信息

select * from users where user_qq =12301;

eg2:查询分数大于2500分的数据

select *from scores where score>2500;

<> -----不等于    >= -----大于等于    <=  -----小于等于

eg3:查询游戏编号为1且分数大于4000分的分数信息

select * from scores where gno=1 and score>4000;

逻辑运算符:并且 -- and

                 或者 -- or

                 非   -- not

eg4: 查询游戏编号为1和2的分数信息

select * from scores where gno=1 or gno=2;

2.模糊查询

eg1:查询分数在2500(含)到3000(含)的分数

select *from scores where score>=2500 and score<=3000;

select * from scores where score between 2500 and 3000;

eg2:查询分数不在2500(含)到3000(含)的分数信息

select * from scores where score not between 2500 and 3000;

eg3:查询1987年1月1日到1992年7月31日出生的玩家

select * from users where user_birthday between '1987-01-01' and '1992-0731';

通配符: '_'    一个字符     Branch like 'L_'

            %     任意长度     Route_Code Like 'AMS-%'

            []     指定范围内   Airbusno Like 'AB0[1-5]'

            [^]   不在括号中   Airbusno Like 'AB0[^]'

eg4:查询所有姓孙的玩家信息

select * from users where user_name like '孙%';

eg5:查询所有非姓孙的玩家信息

select * from users where user_name not like '孙%';

3.查询空值得运算符

eg:查询生日为空的null的玩家信息

select * from users where use_birthday is null;

eg:查询生日不为NULL的玩家信息

select * from users where user_birthday is not null;

 

四 对查询结果排序

1. 对指定列进行排序(排序依据,排序方式)

语法:SELECT CLO_LIST FROM TABLE_NAME ORDER BY ORDER_BY_LIST [ASC/DESC]

例:查询分数表中编号为1的所有分数信息,并按照分数升序排序

select *from scores where gno=1 order by score asc.

例:查询分数表中编号为1的所有分数信息,并按照分数降序排序

select * from score where gno=1 order by score desc.

2. 对多列进行排序(排序依据,排序方式,优先级)

例:查询分数表中的所有信息,并按照游戏编号的升序和分数的降序进行排序

select * from scores order by gno asc, score desc