首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ORACLE:根据父id查询所有子孙数据,或者根据子id查询所有父数据(start with connect by prior)

. ---> 最常见的例子就是省市区一体表,就是通过id、pid、level来进行控制,从而一张表来存储数据.我们进行拿数据的时候,不用再连表拿取,直接通过(start with connect by...二、准备省市区表: CREATE TABLE REGION ( "ID" NUMBER NOT NULL, "name" VARCHAR2(200 BYTE), "PID" NUMBER,...查询所有的子数据 需求:我输入山东省的id,会把山东省及下面的市区都查询出来 select * from REGION start with id = 2 connect by prior id =...pid -- prior 右边是子级id,就往子级的方向查询 ORDER BY id; 结果展示 四、根据id查询所有的父数据 需求:我输入黄岛区的id,会把黄岛区及其所在的市省国查询出来 select...* from REGION start with id = 8 connect by prior pid = id -- prior 右边是父id,就往父级的方向查询 ORDER BY id; 结果展示

2.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    T-sql 各种查询命令

    目录 1.选中表中所有的列 2.选中表中指定的列 3.选中表中指定的列(条件查询) 范围查询 (between) 并且查询 (and) 或查询 (or) in 查询...LIKE 模糊匹配 5.查询并 去重 6.查询并 排序 7.查询列 并且改名称 8.查询并插入(新表) 9.查询结果 插入其他表 (表以存在) 1.选中表中所有的列 select * from 表名...,列2.... from 表名 select name,age.... from sun 输出sun表中name age列的所有内容 3.选中表中指定的列(条件查询...(asc| desc)升序 降序 7.查询列 并且改名称 select name AS 名字, age AS 年龄 from 表 8.查询并插入(新表) select name,age...,address into 新表1 from 表2 将从表2 查询出的 name age adress列 信息 插入到 新表1之中 9.查询结果 插入其他表 (表以存在) insert

    9010

    浅谈 T-SQL高级查询

    之前我们简单的了解了增、删、改、查这几类T-SQL语法来操纵数据表,但是为了更方便快捷地完成大量任务,SQL Server 提供了一些内部函数,可以和SQL Server 的SELECT语句来联合使用,...使用 T-SQL 实现多表查询: ? 使用内联接在表A和表B中使用内联接查询学生姓名、学校和职业。...使用左外联接查询在表A和表B中使用内联接查询学生姓名、学校和职业 select a.name 姓名,a.school 学校,b.name,b.job from A left join B on a.name...使用右外联接查询在表A和表B中使用内联接查询学生姓名、学校和职业。...select a.name 姓名,a.school 学校,b.name,b.job from A right join B on a.name=B.name 使用完整外联接查询在表A和表B中使用内联接查询学生姓名

    1.7K30

    SQLServer T-SQL 部分查询语句归纳

    =Object_Id('表名') 查询表的字段定义: select * from information_schema.columns where table_name = '表名'; 获取数据库所有类型...: select name from systypes 获取主键字段: Select name FROM SysColumns Where id=Object_Id('表名') and colid=(...select top 1 keyno from sysindexkeys where id=Object_Id('表名')) 数据库多表查询 Join连接 SQL JOIN 用于把来自两个或多个表的行结合起来...其基本语法如下: DROP INDEX table_name.index_name; 什么时候应当避免使用索引? 尽管创建索引的目的是提升数据库的性能,但是还是有一些情况应当避免使用索引。...下面几条指导原则给出了何时应当重新考虑是否使用索引: 小的数据表不应当使用索引; 需要频繁进行大批量的更新或者插入操作的表; 如果列中包含大数或者 NULL 值,不宜创建索引; 频繁操作的列不宜创建索引

    1.4K20

    T-SQL基础(一)之简单查询

    SQL方言:在SQL标准的基础上延伸的其它语言,如SQL Server中所使用的T-SQL。注意SQL方言未必完全支持所有的SQL标准。...两值逻辑 与T-SQL中的大多数谓词不同,EXISTS使用两值逻辑(True/False),而不是三值逻辑; 在EXISTS( SELECT * FROM T_A WHERE Id=12)中,EXISTS...几条建议: SQL中的关键字均使用大写字母 SQL语句均使用分号结尾 SQL中使用对象的完全限定名,如:DbName.dbo.TableName 查询语句执行顺序 SQL中查询语句的逻辑处理过程与实际查询过程...FROM子句用于指定需要查询的数据源,WHERE语句对数据源中的数据做基于行的筛选。通常WHERE子句可以决定查询是否使用索引,及使用哪些索引,对于查询优化有着重要意义。...本文主要介绍了T-SQL查询的基础知识,对于较为复杂的查询,如:关联、表表达式、集合运算等将在后续文章中介绍。

    4.2K20

    【T-SQL基础】02.联接查询

    概述: 本系列【T-SQL基础】主要是针对T-SQL基础的总结。 本篇主要是对多表查询基础的总结。...原因有两点:   a.因为如果用内联接查询,但是忘了写ON条件,则语法分析器会报错,执行无效;   b.使用ANSI SQL-89标准,有可能忘了WHERE字句中的联接,但是语法分析器不会报错,且执行成功...如B表定义了一个外键(id1,id2),引用了D表的id1,id2列,现在要写一个主外键关系来联接两个表的查询。...SELECT * FROM A INNER JOIN C ON dbo.A.id id 如果使用交叉联接,得到的结果中将包含自偶对(例如,1和1),以及镜像对(例如,1和...1.他们的ID分别为22和57。查询结果中这两个客户在Order表中的列都为NULL。

    3K90

    【T-SQL基础】03.子查询

    以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化。 本系列【T-SQL基础】主要是针对T-SQL基础的总结。...在逻辑上,独立子查询在执行外部查询之前先执行一次,接着外部查询再使用子查询的结果继续进行查询。 相关子查询:引用了外部查询中出现的表的子查询,查询要依赖于外部查询,不能独立地调用它。...在逻辑上,子查询会为每个外部行单独计算一次。 标量子查询:返回单个值的子查询。标量子查询可以出现在外部查询中期望使用单个值的任何地方。 多值子查询:在一个列中 为什么要使用子查询?...Exist谓词只关心是否存在匹配行,而不考虑SELECT列表中指定的列,所有使用SELECT * FROM TABLE,并没有什么负面影响,但是为了展开*代码的列名会有少少量的开销,但是还是推荐使用*通配符...本题考察独立子查询的用法,和第一题类似,分两个步骤: (1)先用子查询查询出订单数量最多的客户id (2)然后将id返回给外部查询,外部查询通过客户id过滤出客户下过的所有订单 方案一:独立标量子查询

    1.9K60

    T-sql 高级查询( 5*函数 联接 分组 子查询)

    目录 联接查询 子查询 分组查询 函数的应用 系统函数 字符串函数​编辑 实例 日期函数 实例 数学函数 实例 聚合函数 实例 T-SQL 高级查询是指在 T-SQL 中使用的复杂查询,可以用于执行复杂的操作...T-SQL 高级查询包括以下几类: 联接查询:联接查询用于连接两个或多个表。联接查询可以分为内连接、外连接和自连接。 子查询:子查询是一种嵌套在另一个查询中的查询。...分组查询:分组查询用于将数据分组,并对每个组进行操作。分组查询可以与聚合函数一起使用。...语法 -- 按客户 ID 分组 SELECT CustomerID, COUNT(*) AS TotalOrders FROM Orders GROUP BY CustomerID; -- 按客户...ID 和城市分组 SELECT CustomerID, City, COUNT(*) AS TotalOrders FROM Orders GROUP BY CustomerID, City; 语法 函数的应用

    9410

    T-SQL基础(二)之关联查询

    在上篇博文中介绍了T-SQL查询的基础知识,本篇主要介绍稍微复杂的查询形式。 表运算符 表运算符的作用是把为其提供的表作为输入,经过逻辑查询处理,返回一个表结果。...JOIN:联接查询时使用 APPLY:用于FROM子句中,分为CROSS APPLY和OUTER APPLY两种形式 PIVOT:用于行转列 UNPIVOT:用于列传行 联接查询 联接查询分为外联接、内联接...; -- 不使用CROSS JOIN SELECT * FROM dbo.UserInfo,dbo.UAddress; 内联接 SQL中使用INNER JOIN...ON...语句进行内联接查询...dbo.UserInfo ON UserInfo.UAddressId UAddress.Id; 多联接查询 超过两张表进行关联查询即为多联接查询。...StackOverflow中扣出的一张图片,可以概述外联接和内联接查询: [1240] 推荐阅读 T-SQL基础(一)之简单查询 What is the difference between “INNER

    2.2K10

    T-SQL基础(二)之关联查询

    在上篇博文中介绍了T-SQL查询的基础知识,本篇主要介绍稍微复杂的查询形式。 表运算符 表运算符的作用是把为其提供的表作为输入,经过逻辑查询处理,返回一个表结果。...SQL Server支持四个表运算符:JOIN、APPLY、PIVOT、UNPIVOT,其中JOIN是标准SQL中的运算符,APPLY、PIVOT和UNPIVOT是T-SQL的扩展。...JOIN:联接查询时使用 APPLY:用于FROM子句中,分为CROSS APPLY和OUTER APPLY两种形式 PIVOT:用于行转列 UNPIVOT:用于列传行 联接查询 联接查询分为外联接、内联接...dbo.UserInfo ON UserInfo.UAddressId = UAddress.Id; 查询结果如下: ?...ON UserInfo.UAddressId UAddress.Id; 多联接查询 超过两张表进行关联查询即为多联接查询。

    2.1K40

    《SQLSERVER2012之T-SQL教程》T-SQL单表查询(二)「建议收藏」

    2) 运算符 T-SQL支持的比较运算符包括:=、>、=、、!=、!>和!<。后三个不是标准的。 如果需要连接逻辑表达式,可以使用逻辑运算符:OR和AND。...T-SQL支持4个明显的算数运算符:+、-、*、/,以及%运算符。 注意,在T-SQL中,涉及两个操作数的标量表达式的数据类型,是按两个数据类型优先级中的较高优先级确定的。...由于CASE是一个标量表达式,因此可以在任何允许使用标量表达式的地方使用它。例如,在SELECT、WEHERE、HAVING、ORDER BY中,以及在CHECK约束中。...NULL标记 T-SQL支持用于表示缺失值的NULL标记,并使用三值逻辑。TRUE、FALSE和UNKNOWN,T-SQL遵循这方面的标准。...对于查询筛选而言,SQL的正确处理定义是接收TRUE,意味着FALSE和UNKNOWN会被筛选掉。

    1.8K20

    Windows server 2016——SQL server T-SQL查询语句

    公众号:网络豆  座右铭:低头赶路,敬事如仪 个人主页: 网络豆的主页​​​​​ ---- 写在前面 本系列文章将会讲解SQL server 中 server T-SQL查询语句,并且会同步视频进行安装讲解...视频教程:T-SQL查询语句教程 ---- 介绍 SQL Server是由微软公司开发的关系型数据库管理系统,现在是全世界主流数据库之一。...一.SQL简介 1.SQL和T-SQL SQL (结构化查询语言) 关系数据库的标准语言 非过程化语言 统一的语言 T-SQL是Transact-SQL的缩写,是SQL在Microsoft SQL Server...-- 二.使用T-SQL语句操作数据表 1.插入数据 insert [INTO] [列名] values # 可选 必须 可选 如果省略[列名],与表中字段的顺序保持一致...T-SQL语句查询数据 1.select 语法结构 SELECT select_list 指定查询内容 [INTO new_table_name] 把查询结果存放到一个新表中 FROM

    25020
    领券