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基本语法的更多相关文章

  1. SQL:1999基本语法(学习笔记)

    SQL:1999基本语法 SELECT [DISTINCT] * | 列名称 [AS]别名,........ FROM 表名称1 [别名1][CROSS JOIN表名称2 别名2]| [NATURAL ...

  2. SQL中部分语法整理

    1.SELECT DISTINCT 语句 关键词DISTINCT用于返回唯一不同的值. 语法: SELECT DISTINCT 列名称 FROM 表名称 2.SELECT INTO语句 SELECT ...

  3. SQL server存储过程语法及实例(转)

    存储过程如同一门程序设计语言,同样包含了数据类型.流程控制.输入和输出和它自己的函数库. --------------------基本语法-------------------- 一.创建存储过程cr ...

  4. 动态sql语句基本语法--Exec与Exec sp_executesql 的区别

    http://www.cnblogs.com/goody9807/archive/2010/10/19/1855697.html 动态sql语句基本语法 1   :普通SQL语句可以用Exec执行   ...

  5. SQL VIEW 使用语法

    之前一直都不知道VIEW有什么作用,写程序的时候也很少遇到过,复习SQL语句的时候碰到了,就记录下来吧. 什么是视图? 在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表. 视图包含行和列, ...

  6. [SQL]动态sql语句基本语法

    动态sql语句基本语法 :普通SQL语句可以用Exec执行 eg: Select * from tableName Exec('select * from tableName') Exec sp_ex ...

  7. SQL[连载2]语法及相关实例

    SQL[连载2]语法及相关实例 SQL语法 数据库表 一个数据库通常包含一个或多个表.每个表由一个名字标识(例如:"Websites"),表包含带有数据的记录(行). 在本教程中, ...

  8. SQL语句方法语法总结(二)

    1.给表插入数据. (1)INSERT INTO TBL_NAME VALUES (VALUE_1,VALUE_2,...) (2)INSERT INTO TBL_NAME (COL_1,COL_2, ...

  9. SQL语句基本语法总结

    SQL语句基本语法 表的创建.修改.删除: 表中数据的增加.修改.删除.查看: SQL的 语法.数据类型.约束.删除表中数据(2种方法).语句查询的执行顺序: 查询 单列.多列.全部 子查询 单行子查 ...

随机推荐

  1. 大学同学做Java开发比我多5K,八年老Android只会crud该转Java吗?

    最近在网上看到这样一个帖子: 做了八年Android开发,感觉这块做着也挺没意思,日常工作就是做一些架构优化,质量数据监控,改一改构建脚本,最主要的是业务负责人没有一个是做客户端的,都是后端的人. 最 ...

  2. 在线文本的编辑框——kindeditor富文本编辑的使用

    .personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...

  3. Spring学习03(Bean的自动装配)

    6.Bean的自动装配 6.1 自动装配说明 自动装配是使用spring满足bean依赖的一种方法 spring会在应用上下文中为某个bean寻找其依赖的bean. Spring中bean的三种装配机 ...

  4. SpringBoot开发二十二-统一处理异常

    需求介绍 首先服务端分为三层:表现层,业务层,数据层. 请求过来先到表现层,表现层调用业务层,然后业务层调用数据层. 那么数据层出现异常它会抛出异常,那异常肯定是抛给调用者也就是业务层,那么业务层会再 ...

  5. Android 9.0 添加预置第三方输入法/设置默认输入法(软键盘)

    前言 在一些Android项目中往往需要预置第三方输入法或自己的输入法,这篇文章就简单讲解如何预置第三方输入法apk及设置默认输入法 结果展示 在介绍基本的调整方法前,先看看效果图, 如下 调整方法 ...

  6. SQL 练习28

    查询平均成绩大于等于 85 的所有学生的学号.姓名和平均成绩 SELECT Student.SId,Student.Sname,平均成绩 FROM Student , (SELECT sid,AVG( ...

  7. 获取访问者真实ip地址?我觉得不可能

    我们真的能通过请求来获取用户真实的ip地址嘛? 答案是不能,如果能,肯定是我学的不够深入,欢迎交流指正. 那么写这篇文章的意义是什么?我们接着往下看. IP地址相当于电脑在网络上的身份证,但事实上IP ...

  8. maven打jar包,导入本地jar

    本地jar包存放目录 项目目录/lib/*.jar 导入jar包配置 <resources> <!--扫描到的配置yml--> <resource> <dir ...

  9. 程序员必须知道的数据结构:HashMap 与 LinkedHashMap

    为什么要说 HashMap 与 LinkedHashMap?第一:这两种数据结构是 Java Coder 中经常使用的数据结构.第二:这两种结构是最合适的能说明链表与数组的结构关系.在开始之前首先必须 ...

  10. 【iKBC poker2】使用说明书(简体中文版)自用

    主要功能介绍: 可携带式 60%键盘 搭配 QWERTY 配置(61 Key) Cherry MX 系列轴 (黑.青.茶.红) 双层板 PCB 键帽材质: ABS(喷漆镀膜-LED 专用).PBT L ...