SQL用子查询怎么查询多张表的内容 列如:查询jobs表中jobname和minsalary还有m

SQL用子查询怎么查询多张表的内容 列如:查询jobs表中jobname和minsalary还有m,第1张

select ajobname,aminsalary,bemployeeid,blastname,cfristname from jobs a,maxsalary b,employees c

上面这个就可以查询出这些,但是没有关联条件数据非常多乱,所以建议使用下面这种,用表中的字段建议关联关系,能使数据准确整齐

select ajobname,aminsalary,bemployeeid,blastname,cfristname from jobs a,maxsalary b,employees c where a字段 = b字段 and a字段 = c字段

问题一:数据库系统包括什么? 通常由软件、数据库和数据管理员组成。

问题二:请问数据库有哪些种类呢 根据存储模型划分,数据库类型主要可分为:网状数据库(Network Database)、关系数据库(Relational Database)、树状数据库(Hierarchical Database)、面向对象数据库(Object-oriented Database)等。商业应用中主要是关系数据库,比如Oracle、DB2、Sybase、MS SQL Server、Informax、MySQL等。全部罗列出来是没有意义的,数据库太多了,你不说你的工作是涉及哪方面,恐怕很难提供更适合你的数据库。

初级应用一般是ACCESS 配合的脚本程序一般是 ASP ASPNET JSPMICROSOFT SQL 比较复杂点 不过功能强大很多 配合的脚本和ACCESS的一样MYSQL和PHP的组合是比较完美的如果你需要处理1000W条数据以上级别的数据,那以上的都不合适,一般用的比较多的是ORACLE 这个入门难度非常大如果想学的话就先学MICROSOFT SQL吧,这个网上教学比较多,ASPNET 20,应用的是非常广泛的。

问题三:sql数据类型有哪些 一、 整数数据类型

整数数据类型是最常用的数据类型之一。

1、INT (INTEGER)

INT (或INTEGER)数据类型存储从-2的31次方 (-2 ,147 ,483 ,648) 到2的31次方-1 (2 ,147 ,483,647) 之间的所有正负整数。每个INT 类型的数据按4 个字节存储,其中1 位表示整数值的正负号,其它31 位表示整数值的长度和大小。

2、SMALLINT

SMALLINT 数据类型存储从-2的15次方( -32, 768) 到2的15次方-1( 32 ,767 )之间的所有正负整数。每个SMALLINT 类型的数据占用2 个字节的存储空间,其中1 位表示整数值的正负号,其它15 位表示整数值的长度和大小。

3、TINYINT

TINYINT数据类型存储从0 到255 之间的所有正整数。每个TINYINT类型的数据占用1 个字节的存储空间。

4、BIGINT

BIGINT 数据类型存储从-2^63 (-9 ,223, 372, 036, 854, 775, 807) 到2^63-1( 9, 223, 372, 036 ,854 ,775, 807) 之间的所有正负整数。每个BIGINT 类型的数据占用8个字节的存储空间。

二、 浮点数据类型

浮点数据类型用于存储十进制小数。浮点数值的数据在SQL Server 中采用上舍入(Round up 或称为只入不舍)方式进行存储。所谓上舍入是指,当(且仅当)要舍入的数是一个非零数时,对其保留数字部分的最低有效位上的数值加1 ,并进行必要的进位。若一个数是上舍入数,其绝对值不会减少。如:对314159265358979 分别进行2 位和12位舍入,结果为315 和3141592653590。

1、REAL 数据类型

REAL数据类型可精确到第7 位小数,其范围为从-340E -38 到340E +38。 每个REAL类型的数据占用4 个字节的存储空间。

2、FLOAT

FLOAT数据类型可精确到第15 位小数,其范围为从-179E -308 到179E +308。 每个FLOAT 类型的数据占用8 个字节的存储空间。 FLOAT数据类型可写为FLOAT[ n ]的形式。n 指定FLOAT 数据的精度。n 为1到15 之间的整数值。当n 取1 到7 时,实际上是定义了一个REAL 类型的数据,系统用4 个字节存储它;当n 取8 到15 时,系统认为其是FLOAT 类型,用8 个字节存储它。

3、DECIMAL

DECIMAL数据类型可以提供小数所需要的实际存储空间,但也有一定的限制,您可以用2 到17 个字节来存储从-10的38次方-1 到10的38次方-1 之间的数值。可将其写为DECIMAL[ p [s] ]的形式,p 和s 确定了精确的比例和数位。其中p 表示可供存储的值的总位数(不包括小数点),缺省值为18; s 表示小数点后的位数,缺省值为0。 例如:decimal (15 5),表示共有15 位数,其中整数10 位,小数5。 位表4-3 列出了各精确度所需的字节数之间的关系。

4、NUMERIC

NUMERIC数据类型与DECIMAL数据类型完全相同。

注意:SQL Server 为了和前端的开发工具配合,其所支持的数据精度默认最大为28位。

三、 二进制数据类型

1、BINARY

BINARY 数据类型用于存储二进制数据。其定义形式为BINARY( n), n 表示数据的长度,取值为1 到>>

问题四:常用数据库有哪些? 1 IBM 的DB2

作为关系数据库领域的开拓者和领航人,IBM在1997年完成了System R系统的原型,1980年开始提供集成的数据库服务器―― System/38,随后是SQL/DSforVSE和VM,其初始版本与SystemR研究原型密切相关。DB2 forMVSV1 在1983年推出。该版本的目标是提供这一新方案所承诺的简单性,数据不相关性和用户生产率。1988年DB2 for MVS 提供了强大的在线事务处理(OLTP)支持,1989 年和1993 年分别以远程工作单元和分布式工作单元实现了分布式数据库支持。最近推出的DB2 Universal Database 61则是通用数据库的典范,是第一个具备网上功能的多媒体关系数据库管理系统,支持包括Linux在内的一系列平台。

2 Oracle

Oracle 前身叫SDL,由Larry Ellison 和另两个编程人员在1977创办,他们开发了自己的拳头产品,在市场上大量销售,1979 年,Oracle公司引入了第一个商用SQL 关系数据库管理系统。Oracle公司是最早开发关系数据库的厂商之一,其产品支持最广泛的 *** 作系统平台。目前Oracle关系数据库产品的市场占有率名列前茅。

3 Informix

Informix在1980年成立,目的是为Unix等开放 *** 作系统提供专业的关系型数据库产品。公司的名称Informix便是取自Information 和Unix的结合。Informix第一个真正支持SQL语言的关系数据库产品是Informix SE(StandardEngine)。InformixSE是在当时的微机Unix环境下主要的数据库产品。它也是第一个被移植到Linux上的商业数据库产品。

4 Sybase

Sybase公司成立于1984年,公司名称“Sybase”取自“system”和 “database” 相结合的含义。Sybase公司的创始人之一Bob Epstein 是Ingres 大学版(与System/R同时期的关系数据库模型产品)的主要设计人员。公司的第一个关系数据库产品是1987年5月推出的Sybase SQLServer10。Sybase首先提出Client/Server 数据库体系结构的思想,并率先在Sybase SQLServer 中实现。

5 SQL Server

1987 年,微软和 IBM合作开发完成OS/2,IBM 在其销售的OS/2 ExtendedEdition 系统中绑定了OS/2Database Manager,而微软产品线中尚缺少数据库产品。为此,微软将目光投向Sybase,同Sybase 签订了合作协议,使用Sybase的技术开发基于OS/2平台的关系型数据库。1989年,微软发布了SQL Server 10 版。

6 PostgreSQL

PostgreSQL 是一种特性非常齐全的自由软件的对象――关系性数据库管理系统(ORDBMS),它的很多特性是当今许多商业数据库的前身。PostgreSQL最早开始于BSD的Ingres项目。PostgreSQL 的特性覆盖了SQL-2/SQL-92和SQL-3。首先,它包括了可以说是目前世界上最丰富的数据类型的支持;其次,目前PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统

>>

问题五:数据库的对象有哪些 Funciton:函数

Procedure:存储过程

Package:代码包,一个包里面,定义多个存储过程、函数、类型、常量等

Type:自定义数据类型

Trigger:触发器

Job:数据库作业 (定期执行的)

Table:表

Index:索引

Constraint:约束,限制各数据项应满足哪些限阀条件

View:视图

Materialized View:物化视图

Sequence:序列

User:叫 用户

Synonym:同义词

Database link:数据库链接(ORACLE有,别的数据库不熟,想必也应该有,可能不叫这个名字)

TableSpace:表空间(ORACLE叫这个名字,别的数据库不熟)

CURSOR:游标

常用的大致这些,可能会有遗漏,但也应该不会差太多。

问题六:常用数据库有哪些?他们有什么区别 开源的Mysql顶;PostgreSQL即开放源码的

商业的Oracle/SQL Server/DB2即收费的

问题七:查看数据库中有哪些表空间 可以用S罚L语句 SELECT FROM v$tablespace

也可以用oracle enterprise manger console 直接在可视化窗口上查看

问题八:常见的数据库应用系统有哪些? 现在极大多的企业级软件都是基于数据库的。

比如:

ERP: 企业资源管理计划

CRM: 客户关系管理

OA: 办公自动化。

12306铁道部的网上订票系统。

。。。

问题九:如何看mysql都有哪些数据库 第一步:首先是查看mysql数据库的端口号,使用命令show

第二步:查看有哪些数据库,

第三步:查看mysql数据库所有用户,

第四步:查看某个数据库中所有的表

问题十:数据库系统包括什么? 通常由软件、数据库和数据管理员组成。

分组查询(group by)

分组查询:

1查询每个部门的最高工资

select deptno,max(sal) from emp group by deptno;

2查询每个职位的平均工资

select deptno,avg(sal) from emp group by deptno;

3查询每个部门的人数

select deptno,count() from emp group by deptno;

4查询工资大于1000的员工,每个部门的最大工资

select deptno,max(sal) from emp where sal>1000 group by deptno;

多字段分组查询:group by 字段1,字段2;

1查询每个部门下每个主管的手下人数

select deptno, mgr, count() from emp where mgr is not null group by deptno,mgr;

2查询emp表中每个部门的编号,人数,工资总和,最后根据人数进行升序排序,如果人数一致,根据工资总和降序排序

select deptno,count(),sum(sal) from emp group by deptno order by count() asc,sum(sal) desc;

3查询工资在1000-3000之间的员工信息,每个部门的编号,平均工资,最低工资,最高工资,根据平均工资进行升序排序排列

select deptno,avg(sal),min(sal),max(sal) from emp where sal between 1000 and 3000 group by deptno order by avg(sal)

4查询含有上级领导的员工,每个职业的人数,工资的总和,平均工资,最低工资,最后根据人数进行降序排列,如果人数一致,根据平均工资进行升序排列

select job, count(),avg(sal),min(sal) from emp where mgr is not null group by job order by count() desc,avg(sal) asc;

各种关键字的顺序

select from 表名  where grouphaving order by limit

    having(结合group by使用)

having一般要结合分组查询和聚合函数使用,用于给聚合函数的内容添加条件

聚合函数的条件不能写在where后面

普通字段的条件写在where后面,聚合函数的条件写在having后面

1查询每个部门的平均工资,要求平均工资大于2000(c是别名的用法)

select deptno,avg(sal) c from emp group by deptno having c >2000;

2查询每个分类的平均单价,要求平均单价低于100

select category_id ,avg(price) a from t_item group by category_id having a<100;

3查询category_id分类为238和917的两个分类的平均单价

select category_id,avg(price) from t_item where category_id in(238,917) group by category_id;

4查询emp表中每个部门的平均工资高于2000的部门编号,部门人数,平均工资,最后根据平均工资降序排列

select deptno,count(),avg(sal) a from emp group by deptno having a>2000 order by a desc;

5查询emp表中工资在1000-3000之间的员工,每个部门编号,工资总和,平均工资,过滤掉平均工资低于2000的部门,按照平均工资进行升序排序

select deptno,sum(sal), avg(sal) a from emp where sal between 1000 and 3000 group by deptno having a>=2000 order by a asc;

6查询emp表中每年入职的人数

select extract(year from hiredate) year,count() from emp group by year;

7查询每个部门的最高平均工资

select deptno,avg(sal) from emp group by deptno order by avg(sal) limit 0,1;

子查询(嵌套查询)

子查询可以写在where或having后面当做查询条件的值

写在from后面,当做一张新表(但是必须要有别名)

select ename from (select from emp where sal>1000) newtable;

写在创建表的时候

create table emp_20 as (select from emp where deptno=20);

1查询emp表中工资最高的员工信息

select from emp where sal=(select max(sal) from emp);

2查询emp表中工资大于平均工资的所有员工的信息

select from emp where sal>(select avg(sal) from emp);

3查询工资高于20号部门最大工资的员工信息

select from emp where sal>(select max(sal) from emp where deptno=20);

4查询工资高于20号部门最大工资的员工信息

select from emp where sal>(select avg(sal) from emp);

5查询和Jones相同工资的其他员工信息

select from emp where job=(select job from emp where ename='jones' and ename!='jones');

6查询工资最低的员工的同事们的信息(同事=相同job)

select from  emp where job=(select job from emp where sal=(select min(sal) from emp)) and sal !=(select min(sal) from emp);

7查询最晚入职的员工信息

select from emp where hiredate=(select max(hiredate) from emp);

8查询名字为King的部门编号和部门名称(需要用到dept表)

select deptno,dname from dept where deptno=(select deptno from emp where ename='king');

9查询有员工的部门信息(编号和名称)

select deptno ,dname from dept where deptno in (select distinct deptno from emp);

10查询平均工资最高的部门信息

select from dept where deptno in (select deptno from emp group by deptno having avg(sal)=(select avg(sal) from emp group by deptno order by avg(sal) desc limit 0,1));

关联查询

同时查询多张表的数据称为关联查询

1查询每一个员工的名称和其对应的部门名称

select eename,ddname from emp e,dept d where edeptno=ddeptno;

2查询在new york工作的所有员工的信息

select  e from emp  e,dept  d  where edeptno=ddeptno and  dloc='new york';

笛卡尔积

如果关联查询不写关联关系则查询到的数据是两张表的乘积,这个乘积称为笛卡尔积,笛卡尔是一种错误查询方式的结果,工作切记不要出现

    等值连接和内连接

等值连接:

select from A,B where Ax=Bx and Aage=18;

内连接:

select from A join B on Ax=Bx where Aage=18;(将关联关系写在on后面)

1查询每个员工的名称和其对应的部门名称

select eename,ddname from emp e join dept d on edeptno=ddeptno;

外连接

使用外连接查询得到的数据层除了两张表的交集数据以外和另外一张主表的全部数据,哪个表为主表通过left/rigth控制, left以join左边表为主表 rigth以join右边表为主表

1查询所有员工的名称和其对应的部门名称

select eename,ddname from emp e left join dept d on edeptno=ddeptno;

 热血传奇数据库文件 此为热血传奇服务端必有文件。

一:文件路径为:MirServer----Mud2----DB 文件夹中,共有三个数据库文件,分别为:

MagicDB----技能数据库文件

MonsterDB----怪物数据库文件

StdItemsDB----物品数据库文件

二:查看数据库文件内容方式:

使用数据库应用程序----DBC2000打开 相应文件即可查看,此为英文界面 不适合新手完成修改

使用传奇版本修改工具,此为国内网友制作,中文界面 *** 作简单 适合新手 *** 作学习使用

三:相关数据库文件基本参数名称(DBC2000查看可参照):

MagicDb:

(1)magsid 物品代号 

(2)magname 物品名称 

(3)effect type 效果属性 

(4)effect 效果(放此魔法所产生的动画效果) 

(5)spell 每次耗用魔法值 

(6)defspell 升级后增加的每次耗用魔法值 

(7)defpower 升级后增加的威力 

(8)defmaxpower 升级后增加的最大 

(9)job 职业 (0-战士,1-法师,2-道士) 

(10)power 基本威力 

(11)maxpower 最大威力 

(12)t1ainlv 表格是技能需要升级的经验 

(13)needlv 修炼需要的等级 

(14)mode 里 0 是战士技能 1是道士技能 2 是法师技能 

(15)needl1 1级技能所需等级 

(16)l1train 1级技能修炼所需经验 

(17)delay 技能延迟时间 

(18)descr 备注

-------------------------------------------------------------

MonsterDb: 是关于怪物的攻击'经验'还有等级方面的东西 

(1)SID 怪物代号 

(2)Name 怪物名称 

(3)Race 行动模式及死亡时的效果代码 

(4)Racelmg 攻击模式代码 

(5)Appr 怪物形象代码 

(6)Lvl 怪物等级 

(7)Undead 是否属不死系 0-否,1-是[不死系不可招,死系可召] 

(8)CoolEye 是否主动攻击(反隐形范围) 

(9)EXP 怪物的经验值 

(10)HP 怪物生命 

(11)MP 怪物魔法 

(12)AC 怪物防御力 

(13)AC2 防御力上限 

(14)MAC 魔法防御力 

(15)DC 攻击力 

(16)SPEED 速度 

(17)HIT 命中率 

(18)Walk-SPD 行走速度 

(19)WalkStep 行走步伐 

(20)WalkWait 行走等待时间 

(21)ATTACR-SPD 攻击速度 

--------------------------------------------------------------

StditemDb:物品属性修改 

(1)idx 数据库的序列号 

(2)NAME 物件的名称 

(3)Stdmode 装备属性 

(4)Shape 显示衣服穿上得样子 

(5)Weight 物件重量 

(6)Anicount 特殊属性 

(7)Source 特殊属性 

(8)Reserved 特殊属性 

(9)Looks 显示衣服物品栏里样子和在装备栏里的样子 

(10)DuraMax 物品持久 

(11)Ac 防御下限 

(12)Ac2 防御上限 

(13)Mac 魔御下限 

(14)Mac2 魔御上限 

(15)Dc 攻击下限 

(16)Dc2 攻击上限 

(17)Mc 魔法下限 

(18)Mc2 魔法上限 

(19)Sc 道术下限 

(20)Sc2 道术上限 

(21)Need 需求 

(22)NeedLevel 需要等级 

(23)Price 价格 

(24)Stock 是否为库存品

先查看你job的jobid

select from dba_jobs ;

然后根据jobid来启动job

exec dbms_jobrun(job => &JOBID) ;

以上就是关于SQL用子查询怎么查询多张表的内容 列如:查询jobs表中jobname和minsalary还有m全部的内容,包括:SQL用子查询怎么查询多张表的内容 列如:查询jobs表中jobname和minsalary还有m、数据库包括哪些、数据库高级查询2等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10170594.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存