MySQL 基本操作之查询语句

概述:

        在MySQL基本操作(一)中,介绍了一些常用的简单的MySQL操作命令,这一篇我主要是想记录一下select 查询操作,包括多表联和查询。以及数据的导入导出。为了让自己别忘记。这里我建立了几张测试表,用于测试。分别是class_1,class_2,class_3,每张表里有student_ID ,name ,sex ,grade_scores_of_Chinese,Math_score,English_score,Physical_achievements,Total_score 这几个字段。

一、单表查询

       1.  去掉重复值,关键词 distinct

mysql> select distinct 列名 from 表名;

       2.  条件查询,常用关键字 select、from、where、group by、having、order by 等

         查询语句的编写顺序一般为 select…from…where…group by…having…order by

---- 关系运算符:>   >=   <   <=  =   !=  <>

        <> :不等于符号 ----标准SQL语法

        !=  :不等于符号 ----非标准SQL语法

 

---- like 模糊查询:"_" 代表的是任意一个字符,“%” 代表的是多个字符。例如:

        图中的SQL语句,表示查询class_1表中Math_score字段以2结尾的数据。

 

---- in 获取括号内的数据。例如:

        获取name 字段为"汪洋",“王宁”的数据

 

        3.  排序查询:order by 关键字(放在查询语句最后面)

        asc:ascend 升序(默认排序方式)

        desc:descend 降序

例如: select * from class_1 order by Math_score desc ;

 

        4.  聚合函数,这里要注意:where 条件后不能接聚合函数。sum()  求和,avg() 求平均值,count() 统计数量,max() 最大值,min() 最小值。

例 :查询全班数学成绩平均分。

 

二、多表查询

        1. 合并两张表的查询结果,关键字union,union all。

这两个指令都是将两个SQL语句合并在一起,但是不同之处在于,union all 会将每一笔符合条件的结果都列出来,无论结果有无重复。

例如: 查询两张表的 student_ID 字段和Total_score字段。

 

        2. 多表联合查询

        前面讲的查询语句都是针对一张表的,但是在关系型数据库中,表和表之间是存在联系的,所以实际应用中,我们经常要用到多表联合查询。

例:我现在有两张表 class_1 和 class_2 ,我要查询表1的name字段,和表二的name字段,条件是 Math_score的值相同,已左表为基表。如果右表中没有符合条件的字段,显示为NULL 。

SQL语句:

select a.name,b.name from class_1 as a left join class_2 as b on a.Math_score = b.Math_score;  

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值