创建联结
select n_title,n_content,t_name,t_memo from nrc_news,nrc_type where nrc_news.t_id=nrc_type.t_id;
select n_title,n_content,t_name,t_memo from nrc_news,nrc_type ;
笛卡尔积:
由没有联结条件的表关系返回的结果为笛卡尔积。检索出的行的数目将是第一个表中的行数乘以第二个表中的行数。

提示:返回笛卡尔积的联结也叫叉联结。

内联结:
select n_title,n_content,t_name,t_memo from nrc_news inner join nrc_type on nrc_news.t_id=nrc_type.t_id;
上述语句用法与第一条一样。

多表联结:
select r_content,n_title,n_content,t_name,t_memo from nrc_review,nrc_news,nrc_type where nrc_review.n_id=nrc_news.n_id and nrc_news.t_id=nrc_type.t_id;

select r_content,n_title,n_content,t_name,t_memo from nrc_review,nrc_news,nrc_type where nrc_review.n_id=nrc_news.n_id and nrc_news.t_id=nrc_type.t_id and t_memo='小火龙';

创建高级联结:
别名:
select r_content,n_title,n_content,t_name,t_memo from nrc_review as r,nrc_news as n,nrc_type as t where r.n_id=n.n_id and n.t_id=t.t_id;

自联结:
select n_id,n_title,n_content,t_id from nrc_news where t_id=(select t_id from nrc_news where n_title='梦幻');

外联结:
select nrc_news.n_title,nrc_news.n_content,nrc_type.t_name,nrc_type.t_memo from nrc_news left outer join nrc_type on nrc_news.t_id=nrc_type.t_id;
select nrc_news.n_title,nrc_news.n_content,nrc_type.t_name,nrc_type.t_memo from nrc_news right outer join nrc_type on nrc_news.t_id=nrc_type.t_id;

提示:
外联结的类型:
外联结两种类型:左外联结和右外联结,它们唯一的区别是所关联的表的顺序。换句话说,调整FROM或WHERE子句中表的顺序,左外联结可以转换为右外联结。
还存在另一种外联结,就是全外联结,它检索两个表中的所有行并关联那些可以关联的行。与左右外联结包含一个表的不关联的行不同,全外联结包含两个表的不关联的行。

带有聚集函数的联结
select t.t_id,COUNT(n.t_id)as tchoose from nrc_type as t Inner join nrc_news as n on t.t_id=n.t_id group by t.t_id;

组合查询:

select * from nrc_type where t_id in(1,2,3)
union
select * from nrc_type where t_name ='公告';
union相当于或
上述语句等于
select * from nrc_type where t_id in(1,2,3) or t_name ='公告';

sql中级语句的更多相关文章

  1. [转]MySQL 最基本的SQL语法/语句

    MySQL 最基本的SQL语法/语句,使用mysql的朋友可以参考下.   DDL-数据定义语言(Create,Alter,Drop,DECLARE) DML-数据操纵语言(Select,Delete ...

  2. SQL入门语句之ORDER BY 和GROUP BY

    一.SQL入门语句之ORDER BY ORDER BY 是用来基于一个或多个列按升序或降序顺序排列数据 1.从数据库表获取全部数据按字段A的升序排列 select *from table_name o ...

  3. SQL入门语句之LIKE、GLOB和LIMIT

    一.SQL入门语句之LIKE LIKE用来匹配通配符指定模式的文本值.如果搜索表达式与模式表达式匹配,LIKE 运算符将返回真(true),也就是 1.这里有两个通配符与 LIKE 运算符一起使用,百 ...

  4. SQL入门语句之SELECT和WHERE

    一.SQL入门语句之SELECT SELECT语句用于从数据库表中获取数据,结果表的形式返回数据.这些结果表也被称为结果集 1.从数据库表中取部分字段 select 字段A,字段B from tabl ...

  5. SQL入门语句之INSERT、UPDATE和DELETE

    一.SQL入门语句之INSERT insert语句的功能是向数据库的某个表中插入一个新的数据行 1.根据对应的字段插入相对应的值 insert into table_name(字段A, 字段B, 字段 ...

  6. 快速将一个表的数据生成SQL插入语句

    将一个表中的数据生成SQL插入语句,方便系统快速初始化,在数据库中执行创建以下过程就可以了. ) Drop Procedure GenerateData go CREATE PROCEDURE Gen ...

  7. sql查询语句如何解析成分页查询?

    我们公司主要mysql存储数据,因此也封装了比较好用mysql通用方法,然后,我们做大量接口,在处理分页查询接口,没有很好分查询方法.sql查询 语句如何解析成“分页查询”和“总统计”两条语句.可能, ...

  8. 规则引擎集成接口(四)SQL执行语句

    SQL执行语句 右键点击数据库连接文件“hr”—“添加SQL执行语句”,如下图: 弹出窗体,如下图: 将显示名称改为“部门名称”,返回至类型设置为“string”,在编写sql语句,如下图: 点击确定 ...

  9. SQL SELECT 语句

      本章讲解 SELECT 和 SELECT * 语句. SQL SELECT 语句 SELECT 语句用于从表中选取数据. 结果被存储在一个结果表中(称为结果集). SQL SELECT 语法 SE ...

随机推荐

  1. hdu 5187 zhx's contest (快速幂+快速乘)

    zhx's contest Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) To ...

  2. Eclise快捷键(最全)

    Eclipse常用快捷键 Eclipse常用快捷键 1几个最重要的快捷键 代码助手:Ctrl+Space(简体中文操作系统是Alt+/) 快速修正:Ctrl+1 单词补全:Alt+/ 打开外部Java ...

  3. 发布web项目时,关于未能加载文件或程序集或它的某一个依赖项。拒绝访问的问题

    asp.net的程序是发布再iis上面的嘛,然后iis里面呢选中你的程序,在右边菜单有个编辑权限.然后添加权限Everyone.设置文件夹只读为否

  4. 图文并茂VLAN详解,让你看一遍就理解VLAN

    一.为什么需要VLAN 1.1.什么是VLAN? VLAN(Virtual LAN),翻译成中文是“虚拟局域网”.LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络.V ...

  5. 0079 Ehcache 3.x应用入门及通过JCache与Spring整合

    基本要素:版本.概念与抽象 Ehcache 3.x是一个用Java语言实现的缓存库,并且实现了 JSR107规范 Ehcache从2.x升级到3.x后,Maven依赖从 net.sf.ehcache: ...

  6. python正则表达式的用法

    import re r1 = re.compile(r'(?im)(?P<name></html>)$') content = """ <H ...

  7. async for 在爬虫中的使用例子

    import asyncio import re import typing from concurrent.futures import Executor, ThreadPoolExecutor f ...

  8. eclipse异常:Exception in thread ""http-bio-8080"-exec-5" java.lang.OutOfMemoryError: PermGen space

    用eclipse运行项目,最烦的就是非代码错误.现在这个异常信息,表示的是tomcat启动内存溢出.试过的最简单的办法就是eclipse->project->clean->clean ...

  9. PL/SQL中直接写SQL语句和用EXECUTE IMMEDIATE方法的区别

    PL/SQL中直接写SQL语句和用EXECUTE IMMEDIATE方法的区别 在PL/SQL中在执行SQL语句时可以直接写SQL或者可以把一个SQL语句拼成一个字符串,如下: select * fr ...

  10. P3378 【模板】堆 (内含左偏树实现)

    P3378 [模板]堆 题解 其实就是一个小根堆啦,STL就可以解决,但是拥有闲情雅致的我学习了Jelly_Goat的左偏树,增加了代码长度,妙啊 Solution 1 STL STL 里面prior ...