详解MySql基本查询、连接查询、子查询、正则表达查询

2019-01-05 09:47:05王旭

如果想换成降序的:

select * from GRADE where STU_SCORE >80 order by STU_SCORE desc;

7.2、limit

limit [offset,] N
offset 偏移量,可选,不写则相当于limit 0,N
N 取出条目
取分数最高的前5条

select * from GRADE order by STU_SCORE desc limit 5;

取分数最低的前5条

select * from GRADE order by STU_SCORE asc limit 5;

取分数排名在10-15之间的5条

select * from GRADE order by STU_SCORE desc limit 10,5

八、为表和字段取别名

使用AS来命名列

select STU_ID as '学号',STU_SCORE as '分数' from GRADE;

当表的名称特别长时,在查询中直接使用表名很不方便。这时可以为表取一个别名。用这个别名来代替表的名称。
MySQL中为表取别名的基本形式如下:
表名 表的别名

select S.STU_ID,S.STU_NAME,S.STU_AGE,S.STU_SEX,G.STU_SCORE from STUDENT S,GRADE G WHERE S.STU_ID=G.STU_ID AND G.STU_SCORE >=90;

九、使用正则表达式查询

正则表达式是用某种模式去匹配一类字符串的一个方式。例如,使用正则表达式可以查询出包含A、B、C其中任一字母的字符串。正则表达式的查询能力比通配字符的查询能力更强大,而且更加的灵活。正则表达式可以应用于非常复杂查询。
MySQL中,使用REGEXP关键字来匹配查询正则表达式。其基本形式如下:
属性名 REGEXP '匹配方式'

在使用前先插入一些数据:

insert into STUDENT values(2022,'12wef',13,'男'); insert into STUDENT values(2023,'faf_23',13,'男'); insert into STUDENT values(2024,'fafa',13,'女'); insert into STUDENT values(2025,'ooop',14,'男'); insert into STUDENT values(2026,'23oop',14,'男'); insert into STUDENT values(2027,'woop89',14,'男'); insert into STUDENT values(2028,'abcdd',11,'男');