在上一节中我们们安装了mysql以及navicat,并掌握了如何创建库、创建表、修改表和插入、删除以及更新数据。这一节我们将继续学习SQL的简单查询语句。

一、基本的查询语句

1、select子句和from子句

select <列名1>,<列名2>...
from <表名>;select *
from <表名>;(查看全部列)

查询语句的运行过程如图

2、为列名设定别名

select
<列名1> as bieming,
<列名2> as '别名';

3、删除重复数据

删除单列重复数据:
select distinct <列名>
from student;删除多列重复数据:
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、括号中表达式优先于括号外的

e.g. (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,例如,我想要找出性别为男,名字为猴子或马云的数据

输出了一条性别是女的数据
结果正确
between
or
in
not in

——模糊查询运算符

like+

找出姓猴的人
找出名字最后一个字是猴的人
找出名字包含猴的人
两个下划线,找出叫王**的人

三、注释

单行注释:--空格
多行注释:/*...*/

四、本节出现的ERROR

1、Error : Field '教师号' doesn't have a default value

问题描述:

我在teacher表了,加了age列

当我指定age列插入数据时,就开始报Error : Field '教师号' doesn't have a default value的错误,但我指定教师号列却可以插入数据

问题解决:插入数据时,主键字段不能为空。

2、Invalid use of NULL value

问题描述:想要修改age列的非空设置

问题解决:age列的数据为null,与not null的设置冲突。

sql 不等于空_SQL的简单查询相关推荐

  1. sql针对某字段去重查询_sql的简单查询

    在sql的增删改查中.查询用的最多.所以对查询做多一点的记录 最基本格式: select 字段名1,字段名2,... from 表名 如果查询的想显示所有的字段 select * from 表名 查询 ...

  2. sql between包括两端吗_简单查询-SQL

    SQL基本的查询语句 1 select 语句 select 列名,列名--------select子句 from 表名;--------- from子句 书写规则: Select 语句中列名无需加引号 ...

  3. 查询显示注释_SQL的简单查询

    1.基本的查询语句 -- *代表查询所有的列 select * from <表名>; distinct表示列中不包括重复的值,例如select distinct 姓名: 如果是select ...

  4. MySQL学习-SQL语句的分类与MySQL简单查询

    1.SQL语句的分类 学习MySQL主要还是学习通用的SQL语句,那么SQL语句包括增删改查,SQL语句怎么分类呢?   DQL(数据查询语言): 查询语句,凡是select语句都是DQL.   DM ...

  5. detachedcriteria查询去重_sql的简单查询

    在sql的增删改查中.查询用的最多.所以对查询做多一点的记录 最基本格式: select 字段名1,字段名2,... from 表名 如果查询的想显示所有的字段 select * from 表名 查询 ...

  6. sql 不等于符号_SQL 必备知识 - 第一弹

    作为产品同学,大家日常决策必须依赖数据,但是获取数据是一个挺麻烦的事情,一般都需要像 RD 提需求-排期-交付数据,这是一个很漫长的路径.为了提高工作效率自己学会使用 SQL 查询数据,对于日常工作推 ...

  7. select下拉框带模糊查询_SQL 之 简单查询

    学习目标 1.基本的查询语句 2.指定查询条件 3.注释和SQL语句注意事项 4.运算符 5.字符串模糊查询 一. 基本的查询语句 我们通过向数据库发送SQL查询语句,数据库里运行SQL语句,将查询结 ...

  8. sql 不为空_sql动态传参在springData中的应用(补充)

    在之前的文章提到过关于sql动态传参在springData中的应用,下面补充一下关于原生sql和springData的同一需求下的两种不同的写法: 需求:contoller层传递一个map给servi ...

  9. 查询显示注释_SQL汇总--简单查询

    一.基本的查询语句 1.select from语句 2.别名:别名是英文不加单引号,别名是中文加单引号 3.distinct:识别出不重复的数据,放在select语句当中,第一个列名前面:如果是多个列 ...

最新文章

  1. OTA升级flash分区
  2. 整洁代码之道——重构
  3. windbg拦截驱动
  4. UART0串口编程(五):串口编程(UART0)之UC/OS(一)UC/OS下的串口发送任务编程
  5. Redis开发:发布/订阅消息示例
  6. 彻底搞懂 Scrapy 的中间件
  7. Redis(十一):Redis特殊类型之Bitmap位图
  8. CentOS报错:Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7arch=x86_64repo=osi...
  9. 利用idea构建hibernate
  10. [转]电子书收集工具
  11. 前端特效——简单下雪(纯css)
  12. Linux下批量tiff转pdf
  13. 项目管理需要具备什么能力?
  14. 专精特新是什么,为什么要申报“专精特新”中小企业
  15. 在 Windows 10 中如何查看系统的激活状态?
  16. 解决mysqld: [ERROR] Found option without preceding group
  17. Maxima 的基本微积分操作
  18. 文件上传事件兼容性解决方案:兼容ie和谷歌
  19. 数据结构_线段树 详解+模板
  20. Shader(着色)

热门文章

  1. 【转】C#基础概念之“什么是反射?”
  2. pku2524-----Ubiquitous Religions(初次接触并查集)
  3. vlc rtsp流 转 http播放视频
  4. 基于SDP的提议/应答(offer/answer)模型简介
  5. C++中利用WebService下载文件
  6. 几个Python运算符
  7. Retrofit解析网页Json数据简单实例
  8. python获取机器唯一标识_python中uuid来生成机器唯一标识
  9. gdb调试: 多线程-宏-条件断点
  10. ubuntu linux 下 single node hadoop