一.检索前5行数据

  1.SQL Server和Access中使用SELECT时,可以使用TOP关键字来限制最多返回多少行

  SELECT TOP 5 prod_name FROM Products;

  2.DB2

  SELECT prod_name FROM Products FETCH 5 ROWS ONLY;

  3.MySQL、MariaDB、PostgreSQL、SQLite中需要使用LIMIT子句

  SELECT prod_name FROM Products LIMIT 5 OFFSET 5;(OFFSET指定从哪开始,LIMIT指定行数)

二.空值检查

  *NULL无值(no value)它于字段包含0、空字符串或仅仅包含空格不同.

  *确定是否为NULL,不能用=比较,用is NULL 或 is not NULL

三.AND和OR操作符

  *SQL在处理OR操作符前,优先处理AND操作,操作符有可能会被错误组合,所以最好加上圆括号

  *... WHERE P_NAME='Y' OR P_NAME='L' AND P_PRICE<100  ( P_NAME='L'且P_PRICE<100和P_NAME='Y'的所有结果)

  *... WHERE (P_NAME='Y' OR P_NAME='L') AND P_PRICE<100  ( P_NAME='L'或P_NAME='Y'且P_PRICE<100的所有结果)

四.聚集函数

  *AVG()、MAX()、MIN()、SUM()默认忽略null值得列

  *COUNT(column)会忽略为null值得列,COUNT(*)不会忽略null

五.子查询

  放在WHERE子句中

  *SELECT cust_id FROM order where order_num IN (SELECT order_num FROM orderItems WHERE prod_id='RGAN01');

  放在SELECT子句中

  *SELECT cust_name,(SELECT COUNT(*) FROM orders WHERE orders.cust_id=customers.cust_id) as orders FROM customers

六.联结查询

  内联结(等值联结)

  *SELECT vend_name,prod_name FROM vendors ,products WHERE vendors.vend_id=products.vend_id;

  *SELECT vend_name,prod_name FROM vendors INNER JOIN products ON vendors.vend_id=products.vend_id;

  自联结(自己跟自己进行等值联结)

  自然联结(自动匹配同名的列,虽然很方便,不用指定匹配的列)NATURAL JOIN

  外联结 LEFT OUTER JOIN(匹配左边所有的行)RIGHT OUTER JOIN (匹配右边所有的行) FULL OUTER JOIN(匹配所有关联的行以及两个表的不关联的行)

七.组合查询

  UNION 两个查询的并集(默认去掉重复行)

  UNION ALL 两个查询的并集(保留重复行)

  MINUS 两个查询的差集

  INTERSECT 两个查询的交集

  注意:每个查询必须包含相同的列、表达式或聚集函数;列的数据类型必须兼容。

八.数据插入

  插入完整的行

  *INSERT INTO customers VALUES('123','pro','1111');

  插入行的一部分

  *INSERT INTO customers(cust_id,cust_name) VALUES('123','pro');

  插入检索出的数据

  *INSERT INTO customers (cust_id,cust_name,cust_phone) SELECT cust_id,cust_name,cust_phone FROM custNew;

  创建表并插入检索出的数据

  *CREATE TABLE customers AS SELECT * FROM custNew;

九.更新和删除数据

  更新某行

  UPDATE customers SET cust_name='ljm' , cust_phone=123 WHERE cust_id=123;

  删除某列

  UPDATE customers SET cust_name=null WHERE cust_id=123;

  删除某行

  DELETE FROM customers WHERE cust_id=123;

  注意:除非确定对所有的行进行操作,否则都要加上WHERE子句

SQL基础知识的更多相关文章

  1. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

  2. [SQL] SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

  3. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

  4. [SQL] SQL 基础知识梳理(四) - 数据更新

    SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...

  5. [SQL] SQL 基础知识梳理(五) - 复杂查询

    SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...

  6. [SQL] SQL 基础知识梳理(六)- 函数、谓词、CASE 表达式

    SQL 基础知识梳理(六)-  函数.谓词.CASE 表达式 目录 函数 谓词 CASE 表达式 一.函数 1.函数:输入某一值得到相应输出结果的功能,输入值称为“参数”,输出值称为“返回值”. 2. ...

  7. [SQL] SQL 基础知识梳理(七)- 集合运算

    SQL 基础知识梳理(七)- 集合运算 目录 表的加减法 联结(以列为单位) 一.表的加减法 1.集合:记录的集合(表.视图和查询的执行结果). 2.UNION(并集):表的加法 -- DDL:创建表 ...

  8. 常见SQL语句和SQL基础知识

    引自:http://blog.csdn.net/u012467492/article/details/46790205 SQL语句考察(一) 1.查询出每门课都大于80 分的学生姓名 name   k ...

  9. SQL 基础知识终极指南

    什么是数据库? 数据库是以电子方式从系统中存储和检索的大量数据集合. 存储在数据库中的结构化数据被处理.操纵.控制和更新以执行各种操作. 行业中使用的一些流行数据库是 Oracle.MySQL.Pos ...

  10. sql基础知识集锦

    Sql常用语法 下列语句部分是Mssql语句,不可以在access中使用. SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT ...

随机推荐

  1. Codeforces Round #331 (Div. 2)C. Wilbur and Points 贪心

    C. Wilbur and Points Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/596/ ...

  2. 用C#调用Matlab图像处理自制QQ游戏2D桌球瞄准器

    平时不怎么玩游戏,有时消遣就玩玩QQ里的2D桌球,但是玩的次数少,不能像骨灰级玩家一样百发百中,肿么办呢?于是某天突发奇想,决定自己也来做个“外挂”.说是外挂,其实只是一个瞄准器,毕竟外挂是修改别人的 ...

  3. memcpy的用法总结

    1.memcpy 函数用于 把资源内存(src所指向的内存区域) 拷贝到目标内存(dest所指向的内存区域):拷贝多少个?有一个size变量控制拷贝的字节数:函数原型:void *memcpy(voi ...

  4. 如何在Android应用程序中使用传感器(OpenIntents开源组织SensorSimulator项目)

    原文地址http://blog.sina.com.cn/s/blog_621c16b101013ygl.html OpenIntents项目和可用资源介绍 [1].    项目介绍:OpenInten ...

  5. svm、经验风险最小化、vc维

    原文:http://blog.csdn.net/keith0812/article/details/8901113 “支持向量机方法是建立在统计学习理论的VC 维理论和结构风险最小原理基础上” 结构化 ...

  6. linux之chmod

    文件/目录权限设置命令:chmod 这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限.该命令有两种用法: 用包含字母和操作符表达式的文字设定法 其语法格式为:chmod [w ...

  7. Android(java)学习笔记98:关于string类型的面试题

    package cn.itcast_02; /* * String s = new String(“hello”)和String s = “hello”;的区别? * 有.前者会创建2个对象,后者创建 ...

  8. Virtualbox - Fatal: Could not read from the boot medium; system halted!

    刚装好的虚拟机系统,重新打开Virtualbox时出现个什么提示没认真看,顺势点了下去......结果虚拟机的xp系统打不开了,启动后出现:Fatal: Could not read from the ...

  9. cmd运行java,含传参,引用jar

    1,创建一个java project,完成编码 在Eclipse的资源管理器中选中你要打包的项目,右键点击,选择“导出”项,弹出导出对话框,在下面的Java目录下选择“JAR 文件”项,下一步,在导出 ...

  10. PHP正则提取或替换img标记属性实现文章预览

    今天在想如何实现文章预览时,如果文章里面包含照片,那么就选取第一张照片作为预览图,如果没有照片,则截取文章的头150个字作为预览文字,但是因为保存在数据库的文章都是以富文本的形式,没办法直接提取,在网 ...