http://www.w3cschool.cn/sql_having.html  w3c中有些SQL的讲解

1 order by 排序

SELECT Company, OrderNumber FROM Orders ORDER BY Company;

2 distinct 去重

SELECT DISTINCT Company FROM Orders ;

3 limit 控制选择的条数(MYSQL)

SELECT *FROM Persons LIMIT 5;

ORACLE

SELECT * FROM Persons WHERE ROWNUM <= 5;

4 通配符

SELECT * FROM Persons WHERE LastName LIKE 'C_r_er' -- _代表一个字符
SELECT * FROM Persons WHERE City LIKE '[ALN]%'; -- 以A或L或N 开头的 %代表一个或多个字符

SELECT * FROM Persons WHERE City LIKE '[!ALN]%' -- 不以A或L或N 开头的

5 between

SELECT * FROM Persons WHERE LastName NOT BETWEEN 'Adams' AND 'Carter';

6 union 和union all

Employees_China:

E_ID E_Name
01 Zhang, Hua
02 Wang, Wei
03 Carter, Thomas
04 Yang, Ming

Employees_USA:

E_ID E_Name
01 Adams, John
02 Bush, George
03 Carter, Thomas
04 Gates, Bill
SELECT E_Name FROM Employees_China

UNION

SELECT E_Name FROM Employees_USA;

结果

E_Name
Zhang, Hua
Wang, Wei
Carter, Thomas
Yang, Ming
Adams, John
Bush, George
Gates, Bill

两个表的叠加  union比union all 多了个排重操作

7 内连接 外连接

A表                B表
id name id name
1 a 1 b
2 b 3 c
4 c
内连接就是左表和右表相同的数据,查询结果只有相等的数据:
select * from A inner join B on A.id=B.id
select * from A,B where A.id=B.id
id      name            id      name 
1 a 1 b
外连接分为:左外连接、右外连接、全外连接
左外连接就是以左表为准,去匹配右表,左表有多少条数据,结果就是多少条数据
select * from A left join B on A.id=B.id
id name id name
1 a 1 b
2 b null null
4 c null null
右外连接就是与左外连接反之,以右表为准,去匹配左表,右表有多少条数据,结果就是多少条数据
select * from A right join B on A.id=B.id
id name id name
1 a 1 b
null null 3 c
全外连接数据条数不一定,相当与是左外连接 和右外连接 的综合
select * from A full join B on A.id=B.id
id name id name
1 a 1 b
2 b null null
null null 3 c
4 c null null 8 unique 唯一约束 约束还有 主键 外键 默认值 check(id>0等)不为空
CREATE TABLE Persons

(

Id_P int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255),

UNIQUE (Id_P)

) -- 建表时约束 MYSQL
CREATE TABLE Persons

(

Id_P int NOT NULL UNIQUE,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255)

) -- ORACLE

9 index 索引

CREATE INDEX PersonIndex ON Person (LastName DESC);

数据库索引的作用和优点缺点

10 alter 只能对表中整进行添加 修改 删除

ALTER TABLE Persons ADD Birthday date;
ALTER TABLE Persons ALTER COLUMN Birthday year;
ALTER TABLE Person DROP COLUMN Birthday;

11 MYSQL 自增 ORACLE 序列

CREATE TABLE Persons

(

P_Id int NOT NULL AUTO_INCREMENT,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255),

PRIMARY KEY (P_Id)

);
CREATE SEQUENCE seq_person

MINVALUE 1

START WITH 1

INCREMENT BY 1

CACHE 10;

12 视图 view 视图可以隐藏一些不想让用户看到的信息 以一种新的方式展示数据

create view v as select ename ||' ' ||deptno as data from emp;--创建视图
select * from v;

13 函数
SELECT Customer FROM Orders WHERE OrderPrice>(SELECT AVG(OrderPrice) FROM Orders);
SELECT COUNT(DISTINCT Customer) AS NumberOfCustomers FROM Orders;
SELECT FIRST(OrderPrice) AS FirstOrderPrice FROM Orders order by OrderPrice; -- 还有last
SELECT MAX(OrderPrice) AS LargestOrderPrice FROM Orders; -- min()
SELECT SUM(OrderPrice) AS OrderTotal FROM Orders;
SELECT MID(City,1,3) as SmallCity FROM Persons; -- 截取City前3个字符

14 group by 通常和sum() 合用 按group by 的字段分组 如果一个客户有两条记录 将两条记录的数值求和

SELECT Customer,SUM(OrderPrice) FROM Orders GROUP BY Customer;
SELECT Customer,OrderDate,SUM(OrderPrice) FROM Orders GROUP BY Customer,OrderDate;

15 having 和where 唯一区别就是having子句中可以有函数

SELECT Customer,SUM(OrderPrice) FROM Orders GROUP BY Customer HAVING SUM(OrderPrice)<2000;
 

SQL 基本关键字 函数 关联 连接的更多相关文章

  1. SQL中字符串截取、连接、替换等函数的用法

    一.SQL中SUBSTRING函数的用法1.功能:返回字符.二进制.文本或图像表达式的一部分2.语法:SUBSTRING ( expression, start, length )3.QL 中的 su ...

  2. 四、oracle基本sql语句和函数详解

    一.oracle常用数据类型 一.  数据定义语言(ddl) 数据定义语言ddl(data definition language)用于改变数据库结构,包括创建.更改和删除数据库对象. 用于操纵表结构 ...

  3. Oracle数据库入门——sql语句和函数详解

    一.oracle常用数据类型 一.  数据定义语言(ddl) 数据定义语言ddl(data definition language)用于改变数据库结构,包括创建.更改和删除数据库对象. 用于操纵表结构 ...

  4. sql操作一般函数

    sql操作一般函数 函数一般语法:SELECT function(列) FROM 表 函数的基本类型是: Aggregate 合计函数:函数的操作面向一系列的值,并返回一个单一的值. Scalar 函 ...

  5. sql的关键字

    整理一下sql的关键字,一直都在用,只是很少去整理,所以今天简单整理一下,主要是整理CRUD的一些关键字. 写在前面:sql 不区分大小写 select 简单查询语句 select columnNam ...

  6. SQL Server 聚合函数算法优化技巧

    Sql server聚合函数在实际工作中应对各种需求使用的还是很广泛的,对于聚合函数的优化自然也就成为了一个重点,一个程序优化的好不好直接决定了这个程序的声明周期.Sql server聚合函数对一组值 ...

  7. SQL Server DAC——专用管理员连接

    今天打开数据库刚要连接时,看到“连接到服务器”窗口,突发的想到:要是SQL Server 不再响应正常的连接请求,又想使用数据库时,我们该怎么办?      其实我们还能通过“SQL Server D ...

  8. 数据库开发基础-SQl Server 聚合函数、数学函数、字符串函数、时间日期函数

    SQL 拥有很多可用于计数和计算的内建函数. 函数的语法 内建 SQL 函数的语法是: SELECT function(列) FROM 表 函数的类型 在 SQL 中,基本的函数类型和种类有若干种.函 ...

  9. SQL ServerOVER 子句,over开窗函数,SQL SERVER 开窗函数

    https://technet.microsoft.com/zh-cn/library/ms189461(v=sql.105).aspx http://www.cnblogs.com/85538649 ...

随机推荐

  1. Docker解析及轻量级PaaS平台演练(三)--Dockerfile编写

    在本篇中将介绍Dockerfile的编写 除了通过修改Image,创建Container,在打包成Image来创建我们需要的Image之外 我们还可以编写Dockerfile文件,通过build来创建 ...

  2. POJ Cow Exhibition

    题目链接:Click Here~ 题目意思自己看吧. 算法分析: 对我来想是没有想到,最后看别人的博客才知道的.要把当中的一个条件当作体积.由于两个条件都存在负数,所以还要先保证最后不会再体积中出现负 ...

  3. php中一些函数的用法

    addslashes() 定义和用法 addslashes() 函数返回在预定义字符之前添加反斜杠的字符串. 预定义字符是: 单引号(') 双引号(") 反斜杠(\) NULL 提示:该函数 ...

  4. 为InfiniBand而哭泣

    自古就不乏还没有開始就结束的那种精彩.我称之为殉道者.InfiniBand就是当中之中的一个.尽管它有陨落之势,我依旧要为它鼓掌. 假设说以太网旨在将主机联系在一起,那么InfiniBand的初衷就是 ...

  5. Linux 多线程环境下 进程线程终止函数小结(转)

    pthread_kill: pthread_kill与kill有区别,是向线程发送signal.,大部分signal的默认动作是终止进程的运行,所以,我们才要用signal()去抓信号并加上处理函数. ...

  6. Sencha Touch开发完整流程快速讲解

    1.目录 移动框架简介,为什么选择Sencha Touch? 环境搭建 创建项目框架,框架文件简介 创建简单Tabpanel案例 自定义图标的方式 WebApp产品测试和发布 HTML5离线缓存 发布 ...

  7. 【Java】Java_08 字符型与布尔值

    1.字符型(2个字节) 单引号用来表示字符常量.例如‘A’是一个字符,它与“A”是不同的,“A”表示含有一个字符的字符串 char 类型用来表示在Unicode编码表中的字符 Unicode编码被设计 ...

  8. Android 关于ZXing的使用

    1.http://blog.csdn.net/ryantang03/article/details/7831826 2.http://blog.csdn.net/xiaanming/article/d ...

  9. 219. Contains Duplicate II【easy】

    219. Contains Duplicate II[easy] Given an array of integers and an integer k, find out whether there ...

  10. libevent源码学习_event结构体

    在libevent中最重要的结构体莫过于event和event_base了,下面对于这2个结构体进行分析. 1.结构体event,位于:event.h struct event { /* * 双向链表 ...