掌握limit子句
限制查询结果的数量----limit关键字
1、查询数据时,可能会查询出很多的记录,而用户需要的记录可能只是很少的一部分,这样就需要来限制查询结果的数量。
关键字limit可以对查询结果的记录条数进行限定,控制它输出的行数。
2、显示前3条记录 select * from 表名 limit 3;
3、使用关键字limit还可以查询结果的中间部分取值。
两个参数,参数1是开始读取的第一条记录的编号(在查询结果中,第一个结果的记录编号是0,而不是1);
参数2是要查询记录的个数。
例如:查询出第2条到第4条记录信息 select * from 表名 limit 1,3;
内连接查询 inner join
1、内连接是最普通的连接类型,它要求构成连接的表中有等同的字段。
2、内连接要求构成连接的每一部分的每个表的匹配,不匹配的行将被排除。
3、语法格式:
假设两个表中都有等同的字段user
select 字段名 from 表1,表2 where 表1.user=表2.user; ------隐式内连接
或者:select 字段名 from 表1 inner join 表2 on 表1.user=表2.user; ------显式内连接(效率高)
外连接查询 outer join
1、与内连接不同,外连接是指使用outer join关键字将两个表连接起来。
外连接生成的结果集不仅包含符合连接条件的行数据,而且还包括左表(左外连接时的表)、右表(右外连接时的表)或两边连接表(全外连接时的表)中所有的数据行 (以及不符合条件的)。
2、语法格式:
select 字段名 from 表名1 left|right|outer join 表名2 on 表名1.字段名1=表名2.字段名2;
3、外连接分为左外连接(left join)、右外连接(right join)和全外连接3种类型。
4、左外连接:
左连接是先查询出左表(即以左表为主),然后查询右表,右表中满足条件的显示出来,不满足条件的显示NULL。
5、右外连接:
右连接就是先把右表中所有记录都查询出来,然后左表满足条件的显示,不满足显示NULL。
合并查询结果 (补充)
1、合并查询结果是将多个select语句的查询结果合并到一起。
合并查询结果使用关键字union和union all。
1)关键字union是将所有的查询结果合并到一起,然后去除重复记录;
2)关键字union all则只是简单地将结果合并到一起,不会去除重复记录。
2、语法格式:
select 字段 from 表1 union/union all select 字段 from 表2;
掌握order by子句对查询结果排序ASC升序,DESC降序
1、使用关键字order by 对查询的结果进行排序。
2、在默认情况下,order by 按升序输出结果。升序(ASC) 降序(DESC)
3、排序的语法格式:
select * from 表名 order by 字段名 asc/desc;
4、当排序时字段值相同,可以按照另一个字段排序
语法格式:
select * from 表名 order by 字段1 asc/desc,字段2 asc/desc;
掌握模糊查询 (like)
1、使用关键字like实现模糊查询,有两种通配符:% 和 下划线(_)
2、“%”----可以匹配一个或多个字符,可以代表任意长度的字符串。
1)查询姓王的学生信息 :select * from 表名 where name like '王%';
2)查询名字中包含“明”的学生信息: select * from 表名 where name like '%明%';
3、“_”----可以匹配一个字符。
1)查询以m开头,以n结尾的3个字符姓名的学生信息 select * from 表名 where name like 'm_n';
2)查询由5个字母构成的姓名的学生信息 select * from 表名 where name like '_____';
条件查询练习(范围查询、查询空及非空数据、多条件查询练习)
1、between and
2、is null
3、is not null
4、and or