SQL Lesson 8: 关于特殊关键字 NULLs

之前我们已经接触过NULL. 在数据库中,NULL表达的是 "无"的概念,或者说没有东西。因为 NULL的存在,我们需要在编写SQL时考虑到某个属性列可能是 NULL的情况, 这种特殊性会造成编写SQL的复杂性,所以没有必要的情况下,我们应该尽量减少 NULL的使用,让数据中尽可能少出现 NULL的情况。

如果某个字段你没有填写到数据库,很可能就会出现NULL 。所有一个常见的方式就是为字段设置默认值,比如 数字的默认值设置为0,字符串设置为 ""字符串. 但是在一些NULL 表示它本来含义的场景,需要注意是否设置默认值还是保持NULL。 (f比如, 当你计算一些行的平均值的时候,如果是0会参与计算导致平均值差错,是NULL则不会参与计算).

还有一些情况很难避免 NULL 的出现, 比如之前说的 outer-joining 多表连接,A和B有数据差异时,必须用 NULL 来填充。这种情况,可以用IS NULLIS NOT NULL 来选在某个字段是否等于 NULL.

在查询条件中处理 NULLSELECT column, another_column, … FROM mytable WHERE column IS/IS NOT NULL AND/OR another_condition AND/OR …;

练习
还是会用到 EmployeesBuildings 两个表,这一次我们雇佣了一些雇员但还没有分配办公室. 你需要综合之前的知识来解决这些问题!

自学SQL网(教程 视频 练习全套)​xuesql.cn

sql截取某个字段字符串后几位_自学SQL网教程之09-SQL Lesson 8: 关于特殊关键字 NULLs...相关推荐

  1. c#截取字符串后几位_基础库的字符串设计

    C++在字符串上表现,一直以来很受人诟病,没有一个库的字符串类的表现能让人满意, std的string,mfc的CString,Qt的QString等等字符串类,都存在这样那样的问题,以至于字符串处理 ...

  2. python输出字符串后三位_在python中,字符串s =

    [单选题][图片] [单选题]This kind of car _____ made in Shanghai. [判断题]真正衡量数字通信系统的有效性指标是频带利用率. [单选题]小王正在考虑在他的总 ...

  3. mysql+字符串后8位_字符的一字节8位问题

    #include int main() { char a[1000]; int i; for(i=0;i<1000;i++) { a[i]=-1-i; } printf("%d\n&q ...

  4. html前台截取/以后的字段,javascript如何截取字符串后几位?

    javascript截取字符串的方法有substring(start,stop).substr(start,length).slice(start,end),通过设置其中参数就可以截取字符串后几位. ...

  5. java截取字符串后几位_java截取字符串后几位字符的方法

    java截取字符串后几位字符的方法: java中截取字符串中最后几个字符可以使用String类的substring方法,具体用法参考下方说明: 1.substring(int beginIndex)s ...

  6. js截取字符串前几位或者截取字符串后几位

    经常会遇到后台反的时间是'2020-02-02 10:00:00',页面上需要只展示年月日或者只展示时分秒,那么最简单的方法就是返回过来的值直接截取一下即可. 如何截取前几位,案例如下 var dat ...

  7. js怎样截取字符串后几位以及截取字符串前几位

    截取字符串前几位var disName ='开心一族漂亮家园'; var shortName = disName.substring(0,5); console.log(shortName);//打印 ...

  8. python字符串s最后一个字符的位置是_python截取字符串后几位?

    原标题:python截取字符串后几位? 字符串截取,也叫字符串切片,使用方括号[ ]来截取字符串,在Python中单字符也是作为一个字符串使用. 字符串[开始索引:结束索引:步长] 开始索引:从指定位 ...

  9. python字符串设置字体_python怎么更改字符串后几位

    python更改字符串后几位的方法:可以利用replace()函数来实现.replace()函数可以把字符串中的旧字符串替换成新字符串,并返回替换后的新字符串.具体使用方法如:[str.replace ...

最新文章

  1. Nokia5110液晶屏完全新手学习笔记(二)
  2. Errors occurred during the build. Errors running builder 'JavaScript Validator' on project 'XXX'.
  3. Python使用PDFMiner解析PDF
  4. iOS开发笔记 - 界面调试神器Reveal
  5. ElementUI项目请求SpringBoot后台项目时提示:Access to XMLHttpRequest at **from origin ** has been blocked by CORS
  6. 开源库支付库Magicodes.Pay发布
  7. PureFTP安装配置
  8. JavaScript应用(重点数组)
  9. php同学录网站设计_基于PHP的校友录系统的设计与实现
  10. Java学习笔记2——java的安装和配置
  11. 西门子plc与ABB510变频器modbus通讯
  12. Harvester云计算超融合基础架构HCI软件
  13. 大学生网页设计模板 静态HTML个人主页网页作业成品 DIV CSS个人介绍主题静态网页
  14. python100天-如何系统地学习 Python,100天从新手到大师
  15. 这一篇彻底搞懂JS中的prototype、__proto__与constructor真的很好
  16. Arduino 74HC595驱动数码管0-9循环显示+Proteus仿真
  17. 【数字图像处理】图像锐化:拉普拉斯算子(Laplacian)、高通滤波、Sobel算子、Isotropic算子、Prewitt算子
  18. 一箭穿心——两颗心紧紧相连(Python代码实现)
  19. 网上购车平台超低首付买车再度掀起大波浪!
  20. Mac本子下安装Maven的插件

热门文章

  1. C++生成一个随机网络
  2. python常用魔术方法
  3. MySQL 创建索引和索引效率验证
  4. ReportViewer教程(12)-按组折叠
  5. LeetCode —— 365. 水壶问题(Python3)
  6. 吴恩达深度学习 —— 2.11 向量化
  7. 吴恩达深度学习 —— 2.10 m个样本的梯度下降
  8. navacat无法打开excel解决
  9. Ubuntu16.04 安装简述
  10. [Editor][003][Emacs] 从零到高级的进阶 - 实践开发 - emacs tutorial的使用和基本导航键