mysql查⼀个表3到5⾏的数据类型_MySQL⼊门(三)数据库
表的查询操作【重要】
序⾔
本节⽐较重要,对数据表数据进⾏查询操作,其中可能⼤家不熟悉的就对于INNER JOIN(内连接)、LEFT JOIN(左连接)、RIGHT JOIN(右连接)等⼀些复杂查询。 通过本节的学习,可以让你知道这些基本的复杂查询是怎么实现的,但是建议还是需要多动⼿去敲,虽然理解了什么是内连接等,但是从理解到学会,是完全不⼀样的感觉。
--WH
⼀、单表查询
1.1、查询所有字段
1.2、查询指定字段
1.3、查询指定记录
1.4、带IN关键字的查询
1.5、带BETWEEN AND 的范围查询
1.6、带LIKE的字符匹配查询
1.7、查询空值
1.8、带AND的多条件查询
1.9、带OR的多条件查询
1.10、关键字DISTINCT(查询结果不重复)
1.11、对查询结果排序
1.12、分组查询(GROUP BY)
1.13、使⽤LIMIT限制查询结果的数量
集合函数查询
1.14、COUNT()函数
1.15、SUM()函数
1.16、AVG()函数
1.17、MAX()函数
1.18、MIN()函数
⼆、多表查询
⼩知识
为表取别名
为字段取别名
基于两张表
2.1、普通双表连接查询
2.2、内连接查询
2.3、外连接查询
2.3.1、左外连接查询
2.3.2、右外连接查询
2.4、复合条件连接查询
⼦查询
2.5、带ANY、SOME关键字的⼦查询
2.6、带ALL关键字的⼦查询
2.7、带EXISTS关键字的⼦查询
2.8、带IN关键字的⼦查询
2.9、带⽐较运算符的⼦查询
合并结果查询
2.10、UNION[ALL]的使⽤
三、使⽤正则表达式查询
3.1、查询以特定字符或字符串开头的记录
3.2、查询以特定字符或字符串结尾的记录
3.3、⽤符号"."来替代字符串中的任意⼀个字符
3.4、使⽤"*"和"+"来匹配多个字符
3.5、匹配指定字符串
3.6、匹配指定字符中的任意⼀个
3.7、匹配指定字符以外的字符
3.8、使⽤{n,}或者{n,m}来指定字符串连续出现的次数
四、综合案例 练习数据表查询操作
4.1、搭建环境
省略
4.2、查询操作
省略
4.3、在已经创建好的employee表中进⾏如下操作
4.3.1、计算所有⼥员⼯(F)的年龄
4.3.2、使⽤LIMIT查询从第3条记录开始到第六条记录
4.3.3、查询销售⼈员(SALSEMAN)的最低⼯资
4.3.4、查询名字以字母N或者S结尾的记录
4.3.5、查询在BeiJing⼯作的员⼯的姓名和职务
4.3.6、使⽤左连接⽅式查询employee和dept表
4.3.7、查询所有2001~2005年⼊职的员⼯的信息,查询部门编号为20和30的员⼯信息并使⽤UNION合并两个查询结果distinct查询
4.3.8、使⽤LIKE查询员⼯姓名中包含字母a的记录
4.3.9、使⽤REGEXP查询员⼯姓名中包含T、C或者M 3个字母中任意1个的记录
想直接做题的,跳过讲解,直接到练习区。
这张讲解的⽬录就是想上⾯这样,可以直接看⾃⼰感兴趣的部分,⽽不⽤从最基础的看起,接下来就⼀步步实现这上⾯庞⼤的⼯作量了。⼀、单表查询
创建查询环境
CREATE TABLE fruits(
f_id CHAR(10) NOT NULL,
s_id INT NOT NULL,
f_name char(255) NOT NULL,
f_price DECIMAL(8,2) NOT NULL,
PRIMARY KEY(f_id)
);
解释:
f_id:主键 使⽤的是CHAR类型的字符来代表主键
s_id:这个其实是批发商的编号,也就是代表该⽔果是从哪个批发商那⾥过来的,写这个字段的⽬的是为了⽅便后⾯扩增表。
f_name:⽔果的名字
f_price:⽔果的价格,使⽤的是DECIMAL这个数据类型,如果不清楚这个类型去查看⼀下上⾯⼀篇讲解数据类型的⽂章。
添加数据。
INSERT INTO fruits(f_id,s_id,f_name,f_price) VALUES
('a1' , 101 , 'apple' , 5.2),
('b1' , 101 , 'blackberry' , 10.2),
('bs1' , 102 , 'orange' , 11.2),
('bs2' , 105 , 'melon' , 8.2),
('t1' , 102 , 'banana' , 10.3),
('t2' , 102 , 'grape' , 5.3),
('o2' , 103 , 'coconut' , 9.2),
('c0' , 101 , 'cherry' , 3.2),
('a2' , 103 , 'apricot' , 2.2),
('l2' , 104 , 'lemon' , 6.4),
('b2' , 104 , 'berry' , 7.6),
('m1' , 106, 'mango' , 15.6),
('m2' , 105 , 'xbabay' , 2.6),
('t4' , 107, 'xbababa' , 3.6),
('m3' , 105 , 'xxtt' , 11.6),
('b5' , 107, 'xxxx' , 3.6 );
blackberry:⿊莓  melon:甜⽠  grape:葡萄  coconut:椰⼦  cherry:樱桃  apricot:杏⼦  berry:浆果  mango:芒果  后⾯⼏个xbabay都是为了测试所编写的,没有实际意义。
注意:在复制我的代码到cmd窗⼝时,应注意语句之间不能有空格,不然会报错,我这⾥是为了使你们观看更清楚,所以每⾏前⾯度加有空格,
1.1、查询所有字段
SELECT * FROM fruits;
解释:* 代表所有字段,也就是从表中将所有字段下⾯的记录度查询出来
1.2、查询指定字段
查询f_name 和 f_price 字段的记录
SELECT f_name, f_price FROM fruits;
1.3、查询指定记录
指定记录:也就是按条件进⾏查询,将满⾜⼀定条件的记录给查询出来,使⽤WHERE关键字
SELECT * FROM fruits WHERE f_name = 'apple';  //将名为apple的记录的所有信息度查询出来
SELECT * FROM fruits WHERE f_price > 15;    //将价格⼤于15的记录的所有字段  查询出来
1.4、带IN关键字的查询
IN关键字:IN(xx,yy,...) 满⾜条件范围内的⼀个值即为匹配项
SELECT * FROM fruits WHERE f_name IN('apple','orange');
SELECT * FROM fruits WHERE s_id IN(101, 105); //s_id 为101 或者 105 的记录
SELECT * FROM fruits WHERE s_id NOT IN(101,105); //s_id 不为101或者105的记录
1.5、带BETWEEN AND 的范围查询
BETWEEN ... AND ... : 在...到...范围内的值即为匹配项,

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。