最全MySQL数据库表的查询操作
      序⾔
          1、
          2、
mysql语句多表查询          本节⽐较重要,对数据表数据进⾏查询操作,其中可能⼤家不熟悉的就对于INNER JOIN(内连接)、LEFT JOIN(左连接)、RIGHT JOIN(右连接)等⼀些复杂查询。通过本节的学习,可以让你知道这些基本的复杂查询是怎么实现的,但是建议还是需要多动⼿去敲,虽然理解了什么是内连接等,但是从理解到学会,是完全不⼀样的感觉。
                                                         --WZY
⼀、单表查询
      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合并两个查询结果         4.3.8、使⽤LIKE查询员⼯姓名中包含字母a的记录
         4.3.9、使⽤REGEXP查询员⼯姓名中包含T、C或者M 3个字母中任意1个的记录
           想直接做题的,跳过讲解,直接到练习区。
horizontalbars      这张讲解的⽬录就是想上⾯这样,可以直接看⾃⼰感兴趣的部分,⽽不⽤从最基础的看起,接下来就⼀步步实现这上⾯庞⼤的⼯作量了。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
⼀、单表查询
      创建查询环境
         CREATE TABLE fruits(
           f_id CHAR(10) NOT NULL,
           s_id INT NOT NULL,springcloud必须会吗
           f_name char(255) NOT NULL,
           f_price DECIMAL(8,2) NOT NULL,
           PRIMARY KEY(f_id)
         );
         解释:
            f_id:主键使⽤的是CHAR类型的字符来代表主键
              s_id:这个其实是批发商的编号,也就是代表该⽔果是从哪个批发商那⾥过来的,写这个字段的⽬的是为了⽅便后⾯扩增表。
            f_name:⽔果的名字
pedestrian音标            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 ... : 在...到...范围内的值即为匹配项,
            SELECT * FROM fruits WHERE f_price BETWEEN 5 AND 15;  //f_price 在5到15之间,包括5和15。

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