sql查询重复数据⼤于2条以上的_SQL的简单查询
在上⼀节中我们们安装了mysql以及navicat,并掌握了如何创建库、创建表、修改表和插⼊、删除以及更新数据。这⼀节我们将继续学习SQL的简单查询语句。
⼀、基本的查询语句
1、select⼦句和from⼦句
select <;列名1>,<;列名2>...
from <;表名>;
select *
from <;表名>;(查看全部列)
查询语句的运⾏过程如图
2、为列名设定别名
select
<;列名1> as bieming,
<;列名2> as '别名';
3、删除重复数据
删除单列重复数据:
select distinct <;列名>
from student;
mysql删除重复的数据保留一条删除多列重复数据:
select distinct <;列名1>, <;列名2>
from student;
注意,删除多列重复数据是指删除列1和列2都重复的数据
⼆、指定查询条件
1、where⼦句
select <;列名1>,<;列名2> (3)
from <;表名> 1
where (运算符); 2
注意SQL语句的运⾏顺序,select⼦句最后运⾏,其他⼦句按书写顺序运⾏
2、运算符——关系运算符
注意,运⽤关系运算符⽐较字符串时,是按照字典顺序⽐较的,⽐如字符串'10'<'2',因为字符串10是以1开头的,1⽐2⼩。在处理数据时,当发现“⼤的数据”反⽽排在“⼩的数据”的前⾯,这时就要注意该
列数据的类型是以字符串形式存储的。
——算术运算符
运⽤算术运算符时,注意:
1、括号中表达式优先于括号外的
< (1+2)*3
sql会先运⾏1+2,再运⾏*3
2、与空值进⾏运算结果仍为空值
5+null=null
null不能⽤于数值⽐较,null和null也不相等
注意!根据我们的常规逻辑,集合a和集合!a构成全集,但是在sql中却不然,如下所⽰
共8条数据
这是⼀个成绩表,其中有⼀⾏数据的成绩为空值,现在我们想出成绩⼩于60的数据
没有输出结果
再出成绩⼤于等于60的数据
只输出了7条数据
集合成绩<60和集合>=60是构成全集的,但在两个结果中,都没有出现成绩为null的数据,这是因为null并不能和数值60进⾏⽐较!既然不能⽤=null来出空值的话,那么如何查出空值值呢?这时候空判断运算符就可以上场了。
——空判断运算符
——逻辑运算符
not
与上⾯结果相同
注意,and优先于or,例如,我想要出性别为男,名字为猴⼦或马云的数据
输出了⼀条性别是⼥的数据
结果正确
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论