SQL基础知识
一.检索前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基础知识的更多相关文章
- [SQL] SQL 基础知识梳理(一)- 数据库与 SQL
SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...
- [SQL] SQL 基础知识梳理(二) - 查询基础
SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(三) - 聚合和排序
SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...
- [SQL] SQL 基础知识梳理(四) - 数据更新
SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(五) - 复杂查询
SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(六)- 函数、谓词、CASE 表达式
SQL 基础知识梳理(六)- 函数.谓词.CASE 表达式 目录 函数 谓词 CASE 表达式 一.函数 1.函数:输入某一值得到相应输出结果的功能,输入值称为“参数”,输出值称为“返回值”. 2. ...
- [SQL] SQL 基础知识梳理(七)- 集合运算
SQL 基础知识梳理(七)- 集合运算 目录 表的加减法 联结(以列为单位) 一.表的加减法 1.集合:记录的集合(表.视图和查询的执行结果). 2.UNION(并集):表的加法 -- DDL:创建表 ...
- 常见SQL语句和SQL基础知识
引自:http://blog.csdn.net/u012467492/article/details/46790205 SQL语句考察(一) 1.查询出每门课都大于80 分的学生姓名 name k ...
- SQL 基础知识终极指南
什么是数据库? 数据库是以电子方式从系统中存储和检索的大量数据集合. 存储在数据库中的结构化数据被处理.操纵.控制和更新以执行各种操作. 行业中使用的一些流行数据库是 Oracle.MySQL.Pos ...
- sql基础知识集锦
Sql常用语法 下列语句部分是Mssql语句,不可以在access中使用. SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT ...
随机推荐
- C#中使用GUID的笔记
GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.通常平台会提供生成GUID的API.生成算法很有意思,用到了以太网卡地址.纳秒级时间.芯片ID码和许多可 ...
- C# : 操作Word文件的API - (将C# source中的xml注释转换成word文档)
这篇博客将要讨论的是关于: 如何从C#的source以及注释, 生成一份Word格式的关于各个类,函数以及成员变量的说明文档. 他的大背景如下...... 最近的一个项目使用C#, 分N个模块, 在项 ...
- 设计模式六大原则——合成/聚合复用原则(CARP)
1.定义 简而言之,对于合成/聚合复用原则的定义就是:要尽量使用合成和聚合,尽量不要使用继承. 2.释义 为什么"要尽量使用合成和聚合.尽量不要使用继承"呢? 这是由于: 第一,继 ...
- oc-11-结构体
#import <Foundation/Foundation.h> /* 设计一个“学生”类 1)属性 姓名 生日 用结构体作为类的实例变量(生日) 定义结构用来描述 生日 类名: Stu ...
- 一般php创建的文件默认不是utf-8格式的,在网上搜罗的解决办法如下:
1.PHP本身是无编码的,所有的字符串通常都视为二进制流.因此只需要输入的字符串为Utf-8即可.若字符串采用其他编码,可以使用iconv系列函数转换编码. 2.注$content = iconv(& ...
- Shlwapi.h Shlwapi.dll 动态库
Windows中有一个Shlwapi.dll文件,包含了大量的Windows字符串处理方法,这些方法,在通常的程序应用中,经常会用到,有一部分处理方法,在CRuntime中也存在,但不方便使用.有一部 ...
- js学习笔记第二篇
Js笔记整理 1.StringAPI a) 大小写转换:str.toUpperCase();str.toLowerCase(); b) 获取指定位置字符: Str[i]-- ...
- XML 之 与Json或String的相互转换
1.XML与String的相互转换 [1] XML 转为 String //载入Xml文件 XmlDocument xdoc = new XmlDocument(); xdoc.Load(" ...
- Asp.Net 之 Web.config下Authorization节点
WebConfig Authorization 节点 授权的目的是确定是否应该授予某个标识对给定资源请求的访问权限类型.有两种基本方式来授予对给定资源的访问权限: [1] 文件授权 文件授权由 Fil ...
- H - 高桥和低桥
H - 高桥和低桥 Time Limit:1000MS Memory Limit:131072KB 64bit IO Format:%lld & %llu Submit Sta ...