SQL:1999基本语法(学习笔记)
SQL:1999基本语法
SELECT [DISTINCT] * | 列名称 [AS]别名,........
FROM 表名称1 [别名1][CROSS JOIN表名称2 别名2]|
[NATURAL JOIN表名称2 别名2]
[ JOIN表名称2 别名2 USING (关联列名称)]
[ JOIN表名称2 别名2 on (关联条件)]
[LEFT | RIGHT | FULL OUTER JOIN 表2 ON (关联条件)]
[WHERE 条件(s)]
[ORDER BY 排序的字段 1,ASC| DESC,排序的字段2 ASC| DESC,....]
- 交叉连接(CROSS IN)
语法:
SELECT [DISTINCT] * | 列名称 [AS]别名,........
FROM 表名称1 [别名1][CROSS JOIN表名称2 别名2]|
[WHERE 条件(s)]
[ORDER BY 排序的字段 1,ASC| DESC,排序的字段2 ASC| DESC,....]
使用交叉连接门生笛卡尔积
SELECT *
FROM emp e CROSS JOIN dept d;
使用where消除
SELECT *
FROM emp e CROSS JOIN dept d
WHERE e.deptno=d.deptno;
- 自然连接(NATURAL JOIN)
语法:
SELECT [DISTINCT] * | 列名称 [AS]别名,........
FROM 表名称1 [别名1]
[NATURAL JOIN表名称2 别名2]
[WHERE 条件(s)]
[ORDER BY 排序的字段 1,ASC| DESC,排序的字段2 ASC| DESC,....]
使用自然连接
SELECT *
FROM emp NATURAL JOIN dept;
--自然连接可以直接消除笛卡尔积
- USING子句
语法:
SELECT [DISTINCT] * | 列名称 [AS]别名,........
FROM 表名称1 [别名1] [ JOIN表名称2 别名2 USING (关联列名称)]
[WHERE 条件(s)]
[ORDER BY 排序的字段 1,ASC| DESC,排序的字段2 ASC| DESC,....]
使用USING子句
SELECT *
FROM emp JOIN dept USING (deptno); --USING后字段要用()
- ON子句
语法:
SELECT [DISTINCT] * | 列名称 [AS]别名,........
FROM 表名称1 [别名1] [ JOIN表名称2 别名2 on (关联条件)]
[WHERE 条件(s)]
[ORDER BY 排序的字段 1,ASC| DESC,排序的字段2 ASC| DESC,....]
使用ON子句:
SELECT *
FROM emp e JOIN dept d ON (e.deptno=d.deptno) ;
--ON后是条件
--()可以省略
- 外连接
语法:
SELECT [DISTINCT] * | 列名称 [AS]别名,........
FROM 表名称1 [别名1][LEFT | RIGHT | FULL OUTER JOIN 表2 ON (关联条件)]
[WHERE 条件(s)]
[ORDER BY 排序的字段 1,ASC| DESC,排序的字段2 ASC| DESC,....]
左外连接:
SELECT *
FROM emp e LEFT OUTER JOIN dept d
ON(e.deptno=d.deptno);
--使用ON消除笛卡尔积
SELECT *
FROM emp e LEFT OUTER JOIN dept d
USING (deptno);
--使用USING消除笛卡尔积
右外连接:
SELECT *
FROM emp e RIGHT OUTER JOIN dept d
ON(e.deptno=d.deptno);
--使用ON消除笛卡尔积
SELECT *
FROM emp e RIGHT OUTER JOIN dept d
USING (deptno);
--使用USING消除笛卡尔积
全外连接:
SELECT *
FROM emp e FULL OUTER JOIN dept d
ON(e.deptno=d.deptno);
--使用ON消除笛卡尔积
SELECT *
FROM emp e FULL OUTER JOIN dept d
USING (deptno);
--使用USING消除笛卡尔积
SQL:1999基本语法(学习笔记)的更多相关文章
- 《SQL 反模式》 学习笔记
第一章 引言 GoF 所著的的<设计模式>,在软件领域引入了"设计模式"(design pattern)的概念. 而后,Andrew Koenig 在 1995 年造了 ...
- Golang 语法学习笔记
Golang 语法学习笔记 包.变量和函数. 包 每个 Go 程序都是由包组成的. 程序运行的入口是包 main. 包名与导入路径的最后一个目录一致."math/rand" 包由 ...
- MarkDown语法 学习笔记 效果源码对照
MarkDown基本语法学习笔记 Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式. 下面将对Markdown的基本使用做一个介绍 目 ...
- 毕业设计 之 五 PHP语法学习笔记
毕业设计 之 四 PHP语法学习笔记 作者:20135216 平台:windows10 软件:XAMPP,DreamWeaver 说明:该笔记是对网站编程语言的详细学习 一.PHP基础 0. 关于环境 ...
- SQL:1999基本语法
SQL:1999基本语法 SELECT [DISTINCT] * | 列名称 [AS]别名,........ FROM 表名称1 [别名1][CROSS JOIN表名称2 别名2]| [NATURAL ...
- doy05循环语法学习笔记
doy05循环语法学习笔记 一.while循环语法: 1.基本用法示例 x = 1 while x <= 5: print(x) x += 1 2.死循环:永远不结束的循环 如:while Tr ...
- 《SQL基础教程》+ 《SQL进阶教程》 学习笔记
写在前面:本文主要注重 SQL 的理论.主流覆盖的功能范围及其基本语法/用法.至于详细的 SQL 语法/用法,因为每家 DBMS 都有些许不同,我会在以后专门介绍某款DBMS(例如 PostgreSQ ...
- mySql 基本语法学习笔记
create database if not exists yang; drop database if exists yang; show databases; show dat ...
- Mustache.js语法学习笔记
原文地址:http://www.cnblogs.com/flypig88/archive/2012/05/14/2497780.html 看了Mustache的github,学学其中的语法,做个笔记 ...
随机推荐
- Alpha冲刺(4/10)——追光的人
1.队友信息 队员学号 队员博客 221600219 小墨 https://www.cnblogs.com/hengyumo/ 221600240 真·大能猫 https://www.cnblogs. ...
- MySQLAdmin的用法
mysqladmin 适合于linux和windows系统 linux下:mysqladmin -u[username] -p[password] status windows下:先在安装目录找到my ...
- Tasker : Scale Up/Down CPU Speed at Different Times
http://techsplurge.com/4926/android-awesome-15-tasker-profiles-tutorials/ Yeah I know, there’s SetCP ...
- sunstudio 12.3 on solaris 10
#include <stdio.h> #include <stdlib.h> #define RPT 10000000 int main() { int i=1; for( i ...
- 微软正式发布VS2015和.Net为开发者提供数百个新功能
今天,我很高兴地向大家宣布:Visual Studio 2015 和 .Net 4.6 的正式版本现已提供下载! 自去年十一月我们提出了微软开发技术的愿景:让所有开发者,无论他在什么平台,开发哪种应用 ...
- Cesium 坐标系转换
cesium中常用的坐标有两种WGS84地理坐标系和笛卡尔空间坐标系(世界坐标).我们平时常用的以经纬度来指明一个地点就是用的WGS84坐标,笛卡尔空间坐标系常用来做一些空间位置变换如平移旋转缩放等等 ...
- C#编程(八)--------- Main函数
Main()方法. C#程序是以Main()开始执行的,这个方法必须是类或结构的静态方法,并且其返回类型必须是int或者void. 虽然显示指定public修饰符很常见,但是我们也可以把该方法标记为p ...
- go语言之进阶篇非结构体匿名字段
1.非结构体匿名字段 示例 : package main import "fmt" type mystr string //自定义类型,给一个类型改名 type Person st ...
- go语言基础之指针做函数参数用地址传递
1.指针做函数参数 示例: package main //必须有个main包 import "fmt" func swap(p1, p2 *int) { *p1, *p2 = *p ...
- 关于DLL文件和EXE文件不在同一目录下的设置【转】
https://www.cnblogs.com/chaosimple/archive/2012/08/13/2636181.html 关于DLL文件和EXE文件不在同一目录下的设置 在开发程序结束后, ...