建表语句

建表语句
建表语句

1, 商品信息表 product_info

-- Create table

create table product_info

(

product_id number(10) not null,

product_no number(10) not null,

product_name varchar2(40) not null,

unit varchar2(10) not null,

price number(10) not null,

cost number(10) not null,

provider varchar2(50) not null,

can_return varchar2(10) not null,

warn_account number(10) not null,

max_account number(10) not null,

can_change varchar2(10) not null

);

-- Create/Recreate primary, unique and foreign key constraints alter table product_info

add constraint product_id_pk primary key (PRODUCT_ID);

alter table product_info

add constraint product_no_uk unique (PRODUCT_NO);

alter table product_info

add constraint product_name_uk unique (PRODUCT_NAME);

=====================================================

2, 库房信息表 warehouse_info

-- Create table

create table warehouse_info

(

warehouse_id number(10) not null,

warehouse_name varchar2(20) not null,

warehouse_add varchar2(50) not null,

warehouse_admin varchar2(10) not null,

warehouse_grade varchar2(10) not null

);

-- Create/Recreate primary, unique and foreign key constraints alter table warehouse_info

add constraint warehouse_id_pk primary key (WAREHOUSE_ID); alter table warehouse_info

add constraint warehouse_name_uk unique (WAREHOUSE_NAME);

=================================================

3, 购货单表 inport_info

create table inport_info

(

inport_id number(10) not null,

inport_no number(10) not null,

product_id number(10) not null,

short_account number(10) not null,

inport_account number(10) not null,

decision varchar2(20) not null,

inport_time date not null

);

-- Create/Recreate primary, unique and foreign key constraints alter table inport_info

add constraint inport_id_pk primary key (INPORT_ID);

alter table inport_info

add constraint inport_no_uk unique (INPORT_NO);

alter table inport_info

add constraint product_id_fk foreign key (PRODUCT_ID)

references product_info (PRODUCT_ID);

===================================================

4, 出入库单表inout_info

-- Create table

create table inout_info

(

inout_id number(10) not null,

inout_no number(10) not null,

warehouse_id number(10) not null,

inout_type varchar2(10) not null,

product_id number(10) not null,

inout_account number(10) not null,

inout_date date not null

);

-- Create/Recreate primary, unique and foreign key constraints alter table inout_info

add constraint inout_id_pk primary key (INOUT_ID);

alter table inout_info

add constraint inout_no_uk unique (INOUT_NO);

alter table inout_info

add constraint product_id foreign key (PRODUCT_ID)

references product_info (PRODUCT_ID);

====================================================

5, 客户信息表customer_info

create table customer_info

(

customer_id number(10) not null,

customer_no number(10) not null,

customer_name varchar2(10) not null,

identity_no varchar2(50) not null,

job_add varchar2(50),

tel number(20),

cellphone number(20) not null,

address varchar2(100) not null,

mail varchar2(50),

post number(10)

);

-- Create/Recreate primary, unique and foreign key constraints alter table customer_info

add constraint customer_id_pk primary key (CUSTOMER_ID);

alter table customer_info

add constraint customer_no_uk unique (CUSTOMER_NO);

alter table customer_info

add constraint identity_no_uk unique (IDENTITY_NO);

===========================================

6, 订单(退货单)表 order_info

-- Create table

create table order_info

(

order_id number(10) not null,

order_no number(10) not null,

order_type varchar2(20) not null,

order_status varchar2(20) not null,

product_id number(10) not null,

product_account number(20) not null,

pay_money number(20) not null,

customer_id number(10) not null,

start_date date not null,

deadline date not null,

return_reason varchar2(100)

);

-- Create/Recreate primary, unique and foreign key constraints alter table order_info

add constraint order_id_pk primary key (ORDER_ID);

alter table order_info

add constraint order_no_uk unique (ORDER_NO);

alter table order_info

add constraint product_id_fk foreign key (PRODUCT_ID)

references product_info (PRODUCT_ID);

=============================================

7, 用户管理表user_info

-- Create table

create table user_info

(

user_id number(10) not null,

user_name varchar2(20) not null,

password varchar2(20) not null,

mail varchar2(50),

right varchar2(20) not null

)

;

-- Create/Recreate primary, unique and foreign key constraints alter table user_info

add constraint user_id_pk primary key (USER_ID);

alter table user_info

add constraint user_name_uk unique (USER_NAME);

================================================

8, 中心库房库存信息表 ctrm_info

-- Create table

create table ctrm_info

(

ctrm_id number(10) not null,

product_id number(10) not null,

prodect_exit number(10) not null,

product_status varchar2(10) not null

);

-- Create/Recreate primary, unique and foreign key constraints alter table ctrm_info

add constraint ctrm_id_pk primary key (CTRM_ID);

alter table ctrm_info

add constraint pid_uk unique (PID);

alter table ctrm_info

add constraint pid_fk foreign key (PID)

references product_info (PID);

==================================================

9, 任务单表 mission_info

-- Create table

create table mission_info

(

mission_id number(10) not null,

mission_no number(10) not null,

order_id number(10) not null,

mission_date date not null,

mission_status varchar2(20) not null,

substation_name varchar2(20) not null,

warehouseid number(10) not null,

takeout_name varchar2(10) not null,

takeout_date date not null,

mission_type varchar2(20) not null

);

-- Create/Recreate primary, unique and foreign key constraints alter table mission_info

add constraint mission_id_pk primary key (MISSION_ID);

alter table mission_info

add constraint mission_no_uk unique (MISSION_NO);

alter table mission_info

add constraint order_id_uk unique (ORDER_ID);

alter table mission_info

add constraint order_id_fk foreign key (ORDER_ID)

references order_info (ORDER_ID);

alter table mission_info

add constraint whid_fk foreign key (WHID)

references warehouse_info (WAREHOUSE_ID);

alter table mission_info

=====================================================

10, 调拨单表 transfer_info

-- Create table

create table transfer_info

(

transfer_id number(10) not null,

transfer_no number(10) not null,

order_id number(10) not null,

transfer_date date not null,

transfer_status varchar2(20) not null,

transfer_type varchar2(20) not null,

warehouse_id number(10) not null

);

-- Create/Recreate primary, unique and foreign key constraints alter table transfer_info

add constraint transfer_id_pk primary key (TRANSFER_ID);

alter table transfer_info

add constraint transfer_no_uk unique (TRANSFER_NO);

alter table transfer_info

add constraint order_id_uk unique (ORDER_ID);

alter table transfer_info

add constraint order_id_fk foreign key (ORDER_ID)

references order_info (ORDER_ID);

alter table transfer_info

add constraint customer_id_fk foreign key (CUSTOMER_ID)

references customer_info (CUSTOMER_ID);

alter table transfer_info

add constraint whid_fk foreign key (WAREHOUSE_ID)

references warehouse_info (WAREHOUSE_ID);

=======================================================

11, 签收单表 assign_info

-- Create table

create table assign_info

(

assign_id number(10) not null,

assign_no number(10) not null,

mission_id number(10) not null,

order_id number(10) not null,

assign_date date not null,

delivery_man varchar2(20) not null

);

-- Create/Recreate primary, unique and foreign key constraints alter table assign_info

add constraint assign_id_pk primary key (ASSIGN_ID);

alter table assign_info

add constraint assign_no_uk unique (ASSIGN_NO);

alter table assign_info

add constraint mission_id_fk foreign key (MISSION_ID)

references mission_info (MISSION_ID);

alter table assign_info

====================================================

12, 验货单表 checklist_info

-- Create table

create table checklist_info

(

checklist_id number(10) not null,

checklist_no number(10) not null,

checklist_date date not null,

warehouse_id number(10) not null,

product_id number(10) not null,

account number(10) not null,

actural_account number(10) not null,

ps varchar2(50)

)

;

-- Create/Recreate primary, unique and foreign key constraints alter table checklist_info

add constraint checklist_id_pk primary key (CHECKLIST_ID); alter table checklist_info

add constraint checklist_no_uk unique (CHECKLIST_NO);

alter table checklist_info

add constraint warehouse_id_fk foreign key (WAREHOUSE_ID)

references warehouse_info (WAREHOUSE_ID);

alter table checklist_info

add constraint product_id foreign key (PRODUCT_ID)

references product_info (PRODUCT_ID);

========================================================

13, 库房退货单表 back_info

-- Create table

create table BACK_INFO

(

BACK_ID NUMBER(10) not null,

BACK_NO NUMBER(10) not null,

WAREHOUSE_ID NUMBER(10) not null,

PRODUCT_ID NUMBER(10) not null,

BACK_ACCOUNT NUMBER(10) not null,

BACK_DATE DATE not null,

BACK_STATUS VARCHAR2(20) not null,

PS VARCHAR2(50)

);

-- Create/Recreate primary, unique and foreign key constraints alter table BACK_INFO

add constraint BACK_ID_PK primary key (BACK_ID)

alter table BACK_INFO

add constraint BACK_NO_UK unique (BACK_NO)

alter table BACK_INFO

add constraint PRODUCT_ID_FK foreign key (PRODUCT_ID)

references PRODUCT_INFO (PRODUCT_ID);

========================================================

14, 缺货单 short_info

-- Create table

create table SHORT_INFO

(

SHORT_ID NUMBER(10) not null,

SHORT_NO NUMBER(10) not null,

PRODUCT_ID NUMBER(10) not null,

SHORT_ACCOUNT NUMBER(10) not null,

SHORT_DATE DATE not null,

CTRM_ID NUMBER(10) not null

)

-- Create/Recreate primary, unique and foreign key constraints alter table SHORT_INFO

add constraint SHORT_ID_PK primary key (SHORT_ID)

alter table SHORT_INFO

add constraint SHORT_ID_UK unique (SHORT_NO);

详细讲解SQL语句的连接查询的应用

推荐:详细讲解SQL语句的连接查询的应用 连接查询 通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。 在关系数据库管理系统中,表建立时各数据之间的关系不必确定,常把一个实体的所有信息存放在一个表中。当检索数据时,通过连接操作查询出存放在多个表中的不同实体的信息。连接操作给用户带来很大的灵活性,他们可以在任何时候增加新的数据类型。为不同实体创建新的表,尔后通过连接进行查询。 连接可以在SELECT 语句的FROM子句或WHERE子句中建立,似是而非在FROM子句中指出连接时有助于将连接操作与WHERE子句中的搜索条件区分开来。所以,在Transact-SQL中推荐使用这种方法。 SQL-92标准所定义的FROM子句的连接语法格式为: 其中join_table指出参与连接操作的表名,连接可以对同一个表操作,也可以对多表操作,对同一个表操作的连接又称做自连接。 join_type 指出连接类型,可分为三种:内连接、外连接和交叉连接。内连接(INNER JOIN)使用比较运算符进行表间某(些)列数据的比较操作,并列出这些表中与连接条件相匹配的数据行。根据所使用的比较方式不同,内连接又分为等值连接、自然连接和不等连接三种。 外连接分为左外连接(LEFT OUTER JOIN或LEFT JOIN)、右外连接(RIGHT OUTER JOIN或RIGHT JOIN)和全外连接(FULL OUTER JOIN或FULL JOIN)三种。与内连接不同的是,外连接不只列出与连接条件相匹配的行,而是列出左表(左外连接时)、右表(右外连接时)或两个表(全外连接时)中所有符合搜索条件的数据行。 交叉连接(CROSS JOIN)没有WHERE 子句,它返回连接表中所有数据行的笛卡尔积,其结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。 连接操作中的ON (join_condition) 子句指出连接条件,它由被连接表中的列和比较运算符、逻辑运算符等构成。 无论哪种连接都不能对text、ntext和image数据类型列进行直接连接,但可以对这三种列进行间接连接。例如: (一)内连接 内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。内连接分三种: 1、等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。

PLC编程语言操作指令使用步骤详解

PLC编程语言/操作指令/使用步骤详解 [导读]控制系统流程图是一种较新的编程方法。它是用像控制系统流程图一样的功能图表达一个控制过程,目前国际电工协会(IEC)正在实施发展这种新式的编程标准。 一、PLC编程语言 1.梯形图编程语言 梯形图沿袭了继电器控制电路的形式,它是在电器控制系统中常用的继电器、接触器逻辑控制基础上简化了符号演变来的,形象、直观、实用。 梯形图的设计应注意以下三点: (一)梯形图按从左到右、从上到下的顺序排列。每一逻辑行起始于左母线,然后是触点的串、并联接,最后是线圈与右母线相联。 (二)梯形图中每个梯级流过的不是物理电流,而是“概念电流”,从左流向右,其两端没有电源。这个“概念电流”只是形象地描述用户程序执行中应满足线圈接通的条件。 (三)输入继电器用于接收外部输入信号,而不能由PLC内部其它继电器的触点来驱动。因此,梯形图中只出现输入继电器的触点,而不出现其线圈。输出继电器输出程序执行结果给外部输出设备,当梯形图中的输出继电器线圈得电时,就有信号输出,但不是直接驱动输出设备,而要通过输出接口的继电器、晶体管或晶闸管才能实现。输出继电器的触点可供内部编程使用。 2.语句表编程语言

指令语句表示一种与计算机汇编语言相类似的助记符编程方式,但比汇编语言易懂易学。一条指令语句是由步序、指令语和作用器件编号三部分组成。 3.控制系统流程图编程图 控制系统流程图是一种较新的编程方法。它是用像控制系统流程图一样的功能图表达一个控制过程,目前国际电工协会(IEC)正在实施发展这种新式的编程标准。 二、基本指令简介 基本指令如表所示 取指令 LD I、Q、M、SM、T、C、V、S、L 常开接点逻辑运算起始 取反指令 LDN I、Q、M、SM、T、C、V、S、L 常闭接点逻辑运算起始 线圈驱动指令

SQL数据库数据的查询,汇总,统计和分析

8.数据的查询、汇总、统计和分析 本章将深入剖析SELECT命令。

8.1.SELECT命令 SELECT是一个用来从一个或多个表中获取数据的SQL命令。 8.2.简单的SELECT查询 如: SELECT命令至少包含: ?要出现在查询结果中的字段列表,如:身份证号码,姓名,电话号码 ?字段来自哪些表,如:FROM飞狐工作室 ?字段列表也可以是由字段、常量和函数组成的表达式 ?要列出所有字段,只须用* 号 8.3.设置查询结果的字段名 查询需求 请从数据库pubs的authors表,查询出所有作者的代号、姓名、电话号码及住址,而且请使用中文文字作为查询结果的各字段名。 解答

SELECT 作者代号= au_id, 姓名= au_fname+au_lname, 电话号码= phone, 住址= address FROM authors 或(看看你更喜欢哪一种格式?) /* 脚本文件名: Demo92.sql */ USE pubs SELECT au_id AS 作者代号, au_fname+au_lname AS 姓名, phone AS 电话号码, address AS 住址 FROM authors 注意: ?如果您设置的的字段名包含空格,则须加上单引号 SELECT au_fname+au_lname AS‘Name of Author’ FROM authors 任务:查询teacher表的姓名、性别和生日,列名用中文表示;查询class表的所有班级

信息;查询teacher表的教师姓名和年龄。 8.4.关键字ALL和DISTINCT的使用 1.查询需求 请列出“飞狐工作室”表中所有员工的雇用日期,但是日期相同者只列出一次即可。USE NorthwindSQL SELECT DISTINCT雇用日期FROM飞狐工作室 2.查询需求 请列出“飞狐工作室”表中有哪些部门。 USE NorthwindSQL SELECT DISTINCT部门FROM飞狐工作室 ALL为默认项,显示所有查询到的记录,包括重复项。 DISTINCT,对指定字段的内容相同的,仅显示一项。每个SELECT表达式只能有一个DISTINCT关键字。这意味着,DISTINCT是限制整条数据记录都重复者,只显示其中一条,而不是针对单一字段来处理。 任务:请列出“章立民工作室”表中有哪些部门。列出teacher表中的教师职称。

mysql的多表操作查询

超详细mysql left join,right join,inner join用法分析 下面是例子分析 表A记录如下: aID aNum 1 a20050111 2 a20050112 3 a20050113 4 a20050114 5 a20050115 表B记录如下: bID bName 1 2006032401 2 2006032402 3 2006032403 4 2006032404 8 2006032408 创建这两个表SQL语句如下: CREATE TABLE a aID int( 1 ) AUTO_INCREMENT PRIMARY KEY , aNum char( 20 )

) CREATE TABLE b( bID int( 1 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , bName char( 20 ) ) INSERT INTO a VALUES ( 1, ‘a20050111′ ) , ( 2, ‘a20050112′ ) , ( 3, ‘a20050113′ ), ( 4, ‘a20050114′ ) , ( 5, ‘a20050115′ ) ; INSERT INTO b VALUES ( 1, ‘ 2006032401′ ) , ( 2, ’2006032402′ ) , ( 3,’2006032403′ ) , ( 4, ’2006032404′ ) , ( 8, ’2006032408′ ) ; 实验如下: 1.left join(左联接) sql语句如下: SELECT * FROM a

经典表关联与多表查询

经典表关联与多表查询 目的: 1.掌握从多个表查询数据的基本知识 2.了解和学习外连接(out join) 3.掌握内连接 授课内容: 1.对多于一个表的数据查询 1.1现实情况中,在数据库应用中,数据存在于多个相关联的表中。基本上没有数据只 存在于一个表中的情况。小的应用系统一般也有十几个表,大型系统一般有上千个表。 1.2你经常要作的就是在多个表中进行数据查询。 1.3Oracle对多表查询使用表连接的技术(table join) 1.4表连接的基本条件: (1)2个表必须有公共字段(同名字段或不同名字段) (2)在一个表中,这个公共字段必须是主键(PK) 1.5二个表中的公共字段,在一个表中是主键,在另外一个表中就是外键(FK)。 1.6二表关联中,公共字段是主键的表称为父表(主表)。是外键的表称为子表(详细 表)。 1.7研究一下scott下的emp和dept表的关系。 1.8研究一下oe下的表: CATEGORIES_TAB CUSTOMERS INVENTORIES ORDERS ORDER_ITEMS PRODUCT_DESCRIPTIONS PRODUCT_INFORMATION 1.9多表查询的语法 select 子句 from 表1[ 别名],表2[ 别名],视图[ 别名],(select 子句)别名 where 连接语句 and 其他条件语句 [oupy by 分类项目] [having 子句] [order by 子句] 1.10任务:查询每个员工的编号,姓名,部门名称,部门位置 select empno,ename, dname,loc from emp a,dept b where=

PLC简介、基本指令、梯形图编程规则

第一章 可编程控制器简介 可编程序控制器,英文称Programmable Controller ,简称PC 。但由于PC 容易和个人计算机(Personal Computer )混淆,故人们仍习惯地用PLC 作为可编程序控制器的缩写。它是一个以微处理器为核心的数字运算操作的电子系统装置,专为在工业现场应用而设计,它采用可编程序的存储器,用以在其内部存储执行逻辑运算、顺序控制、定时/计数和算术运算等操作指令,并通过数字式或模拟式的输入、输出接口,控制各种类型的机械或生产过程。PLC 是微机技术与传统的继电接触控制技术相结合的产物,它克服了继电接触控制系统中的机械触点的接线复杂、可靠性低、功耗高、通用性和灵活性差的缺点,充分利用了微处理器的优点,又照顾到现场电气操作维修人员的技能与习惯,特别是PLC 的程序编制,不需要专门的计算机编程语言知识,而是采用了一套以继电器梯形图为基础的简单指令形式,使用户程序编制形象、直观、方便易学;调试与查错也都很方便。用户在购到所需的PLC 后,只需按说明书的提示,做少量的接线和简易的用户程序编制工作,就可灵活方便地将PLC 应用于生产实践。 一、PLC 的结构及各部分的作用 PLC 的类型繁多,功能和指令系统也不尽相同,但结构与工作原理则大同小异,通常由主机、输入/输出接口、电源扩展器接口和外部设备接口等几个主要部分组成。PLC 的硬件系统结构如下图所示: 图1-1-1 1、主机 主机部分包括中央处理器(CPU )、系统程序存储器和用户程序及数据存储器。CPU 是PLC 的核心,它用以运行用户程序、监控输入/输出接口状态、作出逻辑判断和进行数据处理,即读取输入变量、完成用户指令规定的各种操作,将结果送到输出端,并响应外部设备(如电脑、打印机等)的请求以及进行各种内部判断等。PLC 的内部存储器有两类,一类是 接触器 电磁阀指示灯电源 电源 限位开关选择开关按钮

实验一 SQL语言单表查询

实验一SQL语言单表查询 一、实验目的 熟悉SQLServer2008建立数据库和表的方法;掌握SQL语言单表查询方法二.实验内容 1、建立数据库Student 2、建立该数据库的三张表:stu_info,course_info,stu_grade,三张表分别存放学生的学生信息、课程信息和学生选课信息 3、请写出实现如下功能的SQL语句,并在SQLServer2008中进行测试 (1)查询所有同学的姓名和年龄信息,要求使用别名(姓名和年龄),结果如下: (2)查询所有的院系信息,要求取消重复的行,结果如下: (3)查询前5位同学的学号、姓名和成绩信息。查询结果如下: (4)查询所有的男同学学号、姓名、生日和性别信息。查询结果如下:

(5)查询所有总分大于550的男同学信息。查询结果如下: (6)查询所有信息学院和会计学院并且总分大于550分的同学信息。查询结果如下: (7)查询所有籍贯为空的同学信息。查询结果如下: (8)查询总分在530—560之间的同学信息。 查询结果如下:

(9)查询所有在信息学院或会计学院就读的同学信息。查询结果如下: (10)查询所有姓“张”的同学信息。查询结果如下: (11)查询所有姓“张”,而且姓名是两个字的同学信息。查询结果如下: (12)查询所有不姓“张”也不姓“王”的同学信息。查询结果如下: (13)查询所有同学课程编号701的课程成绩,并按由大到小的顺序输出,如果成绩相同,则按学号由小到大排序。查询结果如下:

(14)统计学生成绩表中每个同学的最高分、最低分、平均分和总分。查询结果如下: (15)统计学生成绩表中每个同学的最高分、最低分、平均分和总分,80分以下的成绩不参与统计。 Select stu_id,MAX(grade),MIN(grade),AVG(grade),SUM(grade) From stu_grade Where grade>=80 Group by stu_id 查询结果如下: (16)统计学生成绩表中每个同学的最高分、最低分、平均分和总分,并输出平均分大于87分的信息。查询结果如下: (17)明细汇总: 使用group by子句对查询数据进行分组汇总,为每一组产生一个汇总结果,每个组只返回一行,无法看到详细信息。使用compute和compute by子句既能够看到统计经营部的结果又能够浏览详细数据。 使用compute子句对所有学生的人数进行明细汇总。查询结果如下:

实验四SQL单表查询语句练习

实验四SQL单表查询语句练习 一、实验目的 1.掌握SQL Server数据库的恢复技术 2.熟练掌握SQL单表查询语句 二、实验内容 1.数据库恢复 2.SQL查询语言练习 实验基础知识提要 Microsoft? SQL Server?查询分析器是一种图形工具,您可以使用它创建查询和其它 SQL 脚本,并针对 SQL Server 数据库执行它们。 连接 SQL Server 连接某个 Microsoft?SQL Server?实例以打开 SQL 查询分析器中的一个查询窗口。如果通过 SQL Server 企业管理器中的连接访问 SQL 查询分析器,则自动打开一个查询窗口。

如果未建立连接而访问 SQL 查询分析器,则显示"连接到SQL Server"对话框,使您可以指定数据库服务器。该对话框还可从工具栏和从"文件"菜单上的"连接"命令进行访问。 下表列出"SQL 查询分析器"工具栏中显示的图标。 最基本的查询语句具有以下的形式:

SELECT select_list FROM table_source [ WHERE search_condition ] select_list 描述结果集的列。它是一个逗号分隔的表达式列表。每个表达式同时定义格式(数据类型和大小)和结果集列的数据来源。每个选择列表表达式通常是对从中获取数据的源表或视图的列的引用,但也可能是其它表达式,例如常量或 Transact-SQL 函数。在选择列表中使用 * 表达式指定返回源表中的所有列。 选择列表还可包含控制结果集的最终格式的关键字: DISTINCT DISTINCT 关键字可从结果集中除去重复的行。 TOP n TOP 关键字指定返回结果集的前 n 行。如果指定了 ORDER BY,行将在结果集排序之后选定。除非指定了 PERCENT 关键字,否则 n 即为返回的行数。PERCENT 指定 n 为结果集中返回的行的百分比。

Sql语句多表联合查询

Sql语句多表联合查询 查询所要用到的表 1.course表 USE[学生管理] GO /****** Object: Table [dbo].[course] Script Date: 04/28/2015 11:37:12 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE[dbo].[course]( [课号][nvarchar](20)NOT NULL, [课名][char](20)NOT NULL, [类型][char](10)NOT NULL, [学分][int]NOT NULL, PRIMARY KEY CLUSTERED ( [课号]ASC )WITH (PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF, IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON) ON[PRIMARY] )ON[PRIMARY] GO SET ANSI_PADDING OFF GO

2.score表 USE[学生管理] GO /****** Object: Table [dbo].[score] Script Date: 04/28/2015 11:38:18 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE[dbo].[score]( [学号][nvarchar](20)NOT NULL, [课号][nvarchar](20)NOT NULL, [考试成绩][decimal](9, 2)NULL, [平时成绩][decimal](9, 2)NULL, PRIMARY KEY CLUSTERED ( [学号]ASC, [课号]ASC )WITH (PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF, IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON) ON[PRIMARY] )ON[PRIMARY] GO 3.学生表 USE[学生管理] GO /****** Object: Table [dbo].[student] Script Date: 04/28/2015 11:39:09 ******/ SET ANSI_NULLS ON GO

SQL语句从大到小排序

根据下面三个关系模式完成下面习题:答案已设为白色需要就全选设为黑色学生表student 第一章课件:编写基本的sql语句。 1.查询所有学生情况。 3.查询所有学生的姓名,性别以及年龄。 5.查询所有学生10年后的年龄。 7.查询所有课程(列名用中文显示)。 9.查看竟有那些学生选课(重复学号显示一次)。 11.显示课程表的边结构。第二章课件:约束和排序数据。 01.查询计算机系的所有学生的姓名和年龄。 02.查询体育课的学分。 03.查询年龄小于18的学生。 04.查询年龄大于20的学生。 05.查询年龄介于18和20之间的学生(包括18和20)。 06.查询年龄不在18和20之间的学生。 07.查询年龄为18,20,22的学生。 08.查询年龄不是18,20,22的学生。 09.查询所有姓张的学生。 10.查询所有没有先行课的课程。 11.查询有先行课的课程。 12.在计算机系中找,姓张的男生。 13.在计算机系中找,姓张的或者姓李的男生并且按照年龄从大到小排序。 14.查询所有学生信息,显示结果先按系从大到小排序,再按年龄排序。 第三章课件:多表查询 1.查询每个学生(学号)选了哪门课(课程)得了多少分 2.查询每个学生(姓名)选了哪门课(课程号)得了多少分 3.查询每个学生(姓名)选了哪门课(课程名)得了多少分 4.查询一下王林选可哪门课得了多少分。 5.查询每个学生的成绩类别(优、良还是及格)。 6.查询哪个学生没有选课(用外查询)。 7.查询哪门课没有人选(用外查询)。 第四章课件:组函数

1.查询一下所有课程的平均分,最高分,最低分和总分数。 2.查询一下有多少个学生参加选课。 3.查询一下计算机系有多少人过20岁。 4.统计一下计算机系的男生多少人。 5.查询一下每个学生考试的最高分和最低分。 6.查询每门课(课程号)的最高分和最底分。 7.查询每门课(课程名)的最高分和最底分。 8.查询计算机系中男生多少人,女生多少人。 9,查询人数在三百人以上的系。 10.查询选修人数在三人(包括三人)的课程(课程名)。 11.查询各科考试成绩最低的同学。 12.查询考试成绩小于所选课程平均分的人。(有能力的同学选做) 第五章课件:子查询 1.查询所有比王林大的同学信息。 2.查询和王林同在一个系的所有学生信息。 3.查询一下谁的成绩(所有成绩)最低。 4.查询一下每门课成绩最底的同学(要姓名,和成绩)。 5.查询一下哪个学生没有选课(用子查询)。 6.查询一下哪门课没有人选(用子查询)。 7.查询一下和王林一个系,但是比他年龄大的同学。 第六章课件:ddl语句 1.创建以上四个表,要求每个表必须有主键,表和表之间必须有外间关联。 3.写出insert语句,给表添加以上数据。 5.提交所有操作。 7.将王林的年龄设置为空。 9.将张大民调到计算机系。 11.将体育课的学分设置成和管理学学分一样(update 中带有子查询)。 13.回滚所有操作。 9.某公司印了一批充值卡,卡的密码是随机生成的,现在出现这个问题:卡里面的“o和0”(哦和零)“i和1”(哎和一),用户反映说看不清楚,公司决定,把存储在数据

PLSQL查询语句

一、简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的 表或视图、以及搜索条件等。 例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。SELECT nickname,email FROM testtable WHERE name='张三' (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变 量和全局变量)等构成。 1、选择所有列 例如,下面语句显示testtable表中所有列的数据: SELECT * FROM testtable 2、选择部分列并指定它们的显示次序 查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 例如: SELECT nickname,email FROM testtable 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题=列名 列名列标题 如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列 标题: SELECT 昵称=nickname,电子邮件=email FROM testtable 4、删除重复行 SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认 为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT 时,说明n是

SQL多表连接查询

SQL多表连接查询与集合的并、交、差运算查询 ● https://www.360docs.net/doc/3f5339988.html,e db_sqlserver2 2.select 姓名, 工资, 面积, 金额, (工资+金额/1000) as 实发工资 from 职工,仓 库, 订购单 3. where 职工.职工号=订购单.职工号and职工.仓库号=仓库.仓库号 ● 1.select 姓名, 工资, 城市, (select AVG(工资) from 职工) as 平均工资 , (工资 -(select AVG(工资) from 职工)) as 与平均工资之差 2.from 职工, 仓库 where 仓库.仓库号=职工.仓库号 5:带保存功能的多表连接查询

在SQL语句中,利用into语句可以把查询到的结果保存成一张新表,然后再对新表进行数据信息查询。 1.select 仓库.仓库号, 城市, 面积, 姓名, 工资, 金额 into 多表连接产生的新 表 from 仓库, 职工, 订购单 2.where 仓库.仓库号=职工.仓库号and职工.职工号=订购单.职工号 1.select * from 多表连接产生的新表 //查看不同仓库中的所有职工的仓库号、平均销售金额、最大销售金额、最小销售金额、最大销售金额与最小销售金额之差的信息 [sql]view plaincopyprint? 1.select 仓库号, AVG(金额) as 平均销售金额, MAX(金额) as 最大销售金额, MIN(金 额) as 最小销售金额, 2.(MAX(金额) - MIN(金额)) as 最大金额与最小金额之差 from 多表连接产生的新 表 group by 仓库号; 可以把分组查询结果再生成一张新表

西门子编程语句表

英文助记符德文助记符程序元素分类说明 ---| |--- ---| |--- 位逻辑指令常开接点(地址) ---|/|--- ---|/|--- 位逻辑指令常闭接点(地址) ---( ) ---( ) 位逻辑指令输出线圈 ---(#)--- ---(#)--- 位逻辑指令中间输出 ==0 ---| |--- ==0 ---| |--- 状态位指令结果位等于“0” >0 ---| |--- >0 ---| |--- 状态位指令结果位大于“0” >=0 ---| |--- >=0 ---| |--- 状态位指令结果位大于等于“0”<=0 ---| |--- <=0 ---| |--- 状态位指令结果位小于等于“0” <0 ---| |--- <0 ---| |--- 状态位指令结果位小于“0” <>0 ---| |--- <>0 ---| |--- 状态位指令结果位不等于“0”ABS ABS 浮点算术运算指令浮点数绝对值运算 ACOS ACOS 浮点算术运算指令浮点数反余弦运算 ADD_DI ADD_DI 整数算术运算指令双整数加法 ADD_I ADD_I 整数算术运算指令整数加法 ADD_R ADD_R 浮点算术运算指令实数加法 ASIN ASIN 浮点算术运算指令浮点数反正弦运算 ATAN ATAN 浮点算术运算指令浮点数反正切运算 BCD_DI BCD_DI 转换指令 BCD 码转换为双整数 BCD_I BCD_I 转换指令 BCD 码转换为整数 BR ---| |--- BIE ---| |--- 状态位指令异常位二进制结果 ----(CALL) ----(CALL) 程序控制指令从线圈调用 FC/SFC(无参

常用sql多表查询

这里我们建几个SQL表,我们用个图来说明关系 这里tid的值和教师表中的id相匹配,pid和院系表中的id相匹配,也就是说这样建表就把三张表的关系给建立起来了。学生表在最低层,院系表在最高层。 而这里我们就要讲一个外键的概念:外键是作为与主表的主键相关联的键值,外键可以有多个,同时有外键的表称作对应主键所在表的从表,那主键所在的表就作主表。图中,tid 是教师表中id的外键,也就学生表是教师表的从表,同理,教师表也就是院系表的从表。外键的主要作用是保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 当然在这时我们还不需要去建立真正的外键联系关系 现在我们要查询学生表,教师表,院系表的所有信息: select * from student,teacher,part //查询这三个表中的所有信息 我们现在要查询某学生的教师是的名字: select teaname from student,teacher where (student.id ='') and (teacher.id = student.tid) //这里有两个约束条件,一个是约束学生的id号,一个是约束学生表和教师表的数据要相对应,也就是,这样查询的结果,就是该学生tid所对应教师表中id号的teaname字段的数据,也就是这位学生的教师名字了 现在有一个问题,我想问这个学生所在院系是什么?这个问题就应该迎刃而解了吧。 当然这只是简单的多表查询,其实在真正多表查询时,是用的以下方法: 这里讲一个join方法 该语句是实现多对对查询或一对一查询的方法,当我们在用简单多表查询的时候,它的匹配是无逻辑的,也就是没有具体的约束条件,它不会按照逻辑关系来约束。有可能这个学生会和一个无关第教师联系起来,或者和一个无关的院系联系起来。 我们用一个简单的join方法查询: select teacher.teaname from student join teacher on(student.tid = teacher.id)where (student.id='1') //查询id号为1的学生的教师的名字 这就是join语句的语法,它是个嵌套语句,也就是把一个表嵌套在另一个表中,一般都是自下而上的嵌套,如上例,就是学生表去加入教师表的集合。也就是从表加入主表。 这种join有两个参数,我们上例用的是缺省参数--innor,当我们直接用join时,就默认是这个参数,还有一个left,这两个参数在用时有很大的区别。 select * from student left join teacher on(student.tid = teacher.id) 这上面这个例子中,用left和不用left参数是有很大区别的。用如果在学生表中,有几个新报道的学生还未分配教师,那么,用left参数查询的时候也会显示出来,尽管他的tid为空,和教师表中的数据不匹配,但也会显示出来。若不用left ,那么就不会显示这几个新学生。 通过这个例子应该能更好的理解left的用处了吧,在处理中,我们要根据需求来进行设计

SQL语言命令

SQL语言由命令、子句、运算和集合函数等构成。在SQL中,数据定义语言DDL(用来建立及定义数据表、字段以及索引等数据库结构)包含的命令有CREATE、DROP、ALTER;数据操纵语言DML(用来提供数据的查询、排序以及筛选数据等功能)包含的命令有SELECT、INSERT、UPDATE、DELETE。 一、SQL语句 (1)Select 查询语句 语法:SELECT [ALL|DISTINCT] <目标列表达式> [AS 列名] [,<目标列表达式> [AS 列名] ...] FROM <表名> [,<表名>…] [WHERE <条件表达式> [AND|OR <条件表达式>...] [GROUP BY 列名[HA VING <条件表达式>]] [ORDER BY 列名[ASC | DESC]] 解释:[ALL|DISTINCT] ALL:全部;DISTINCT:不包括重复行 <目标列表达式> 对字段可使用A VG、COUNT、SUM、MIN、MAX、运算符等 <条件表达式> 查询条件谓词 比较=、>,<,>=,<=,!=,<>, 确定范围BETWEEN AND、NOT BETWEEN AND 确定集合IN、NOT IN 字符匹配LIKE(“%”匹配任何长度,“_”匹配一个字符)、NOT LIKE 空值IS NULL、IS NOT NULL 子查询ANY、ALL、EXISTS 集合查询UNION(并)、INTERSECT(交)、MINUS(差) 多重条件AND、OR、NOT 对查询结果分组 [HA VING <条件表达式>] 分组筛选条件 [ORDER BY 列名[ASC | DESC]] 对查询结果排序;ASC:升序DESC:降序 例1:select student.sno as 学号, https://www.360docs.net/doc/3f5339988.html, as 姓名, course as 课程名, score as 成绩from score,student where student.sid=score.sid and score.sid=:sid 例2:select student.sno as 学号, https://www.360docs.net/doc/3f5339988.html, as 姓名,A VG(score) as 平均分from score,student where student.sid=score.sid and student.class=:class and (term=5 or term=6) group by student.sno, https://www.360docs.net/doc/3f5339988.html, having count(*)>0 order by 平均分DESC 例3:select * from score where sid like '9634' 例4:select * from student where class in (select class from student where name='陈小小') (2)INSERT插入语句 语法:INSERT INTO <表名> [(<字段名1> [,<字段名2>, ...])] V ALUES (<常量1> [,<常量2>, ...]) 语法:INSERT INTO <表名> [(<字段名1> [,<字段名2>, ...])] 子查询 例子:INSERT INTO 借书表(rid,bookidx,bdate)V ALUES (edit1.text,edit2.text,date) 例子:INSERT INTO score1(sno,name) SELECT sno,name FROM stud ent WHERE class=?9634? (3)UPDATE-SQL

T-SQL查询语句(一):单表查询

T-SQL查询语句(一):单表查询 Posted on 2008-10-07 19:54 罗一恒阅读(531) 评论(0)编辑收藏 ############################################ 查询语句--SELECT ############################################ 查询select: 1。单表查询2。多表查询3。嵌套查询 分类 1)单表查询 2)多表查询 A.连接查询 B.子查询 ①一般子查询②相关子查询 *************************************** SQL查询语句《一》:单表查询 1.查询全部记录:select * from table_name 2.查询指定字段记录:select 字段列表from table_name 3.过滤相同记录:select Distinct 字段列表from table_name

4.带表达式的查询:select s_name,year(s_birthday) as year from table_name 5.指定查询结果的查询 select top n * from table_name select top n PERCENT * from table_name (返回前/后n行,前/后n%的数据) 6.指定查询路径的查询: select * from database_name.dbo.table_name 形式:数据库名.数据库表拥有者.表名 (可以跨越数据库和使用者进行查询) 7.存储查询结果到另一个表 select 字段列表into 新表名from 表名 select sno,cno,degree into scorekkk from score select sno,cno,degree into tempdb.#scorekkklll from score <#为虚拟表,可一跨数据库创建!> 8.更改列表名显示的查询 select 字段名1 as ''A'',字段名2 as ''B'' from 表名 select "A"=字段名1,"B"=字段名2 from 表名 select 字段名1"A",字段名2"B" from 表名 9.条件查询 select 字段名列表from 表名where 条件表达式 条件表达式运算符: 比较运算符(=,<,<=,>,>=,!<,!>,!=,<>)

ER图+SQL语句练习题new

下图是企业订单管理系统的E-R图,提供对职工信息、客户信息、供应商信息、产品信息、订单信息、订单明细进行管理。描述为主键,描述为外键,外键约束通过图下箭头线进行标注。其中职员信息表中的sex取值为m或f,表示为男和女。 创建脚本如下: /*==============================================================*/ /* Table: 供应商信息表Supplier */ /*==============================================================*/ create table Supplier ( SupplierID char(5) not null, SupplierName varchar(50) not null,

Phone varchar(20) not null, Address varchar(50) null, PostalCode varchar(15) null, City varchar(20) null, constraint PK__Supplier primary key (SupplierID) ) go /*==============================================================*/ /* Table: 产品信息表Products */ /*==============================================================*/ create table Products ( ProductID char(5) not null, ProductName varchar(50) not null, SupplierID char(5) not null, constraint PK__Products primary key (ProductID), constraint FK_PRODUCTS_SUPPLIER foreign key (SupplierID) references Supplier (SupplierID) ) go /*==============================================================*/ /* Table: 客户信息表Customers */ /*==============================================================*/ create table Customers ( CustomerID char(5) not null, CustomerName varchar(50) not null, Phone varchar(20) not null,

sql的多表查询

一、多表联合查询 通过连接可以建立多表查询,多表查询的数据可以来自多个表,但是表之间必须有适当的连接条件。为了从多张表中查询,必须识别连接多张表的公共列。一般是在WHERE子句中用比较运算符指明连接的条件。 两个表连接有四种连接方式: * 相等连接 * 不等连接(看作单表查询) * 外连接 * 自连接(自关联) 1.相等连接 通过两个表具有相同意义的列,可以建立相等连接条件。使用相等连接进行两个表的查询时,只有连接列上在两个表中都出现且值相等的行才会出现在查询结果中 显示雇员名称和所在部门的编号和名称。 执行以下查询: SELECT a.ename, b.id, b.dname FROM employee a,dept b WHERE a.id=b.id 说明:相等连接语句的格式要求是,在FROM从句中依次列出两个表的名称,在表的每个列前需要添加表名,用“.”分隔,表示列属于不同的表。在WHERE条件中要指明进行相等连接的列。 以上训练中,不在两个表中同时出现的列,前面的表名前缀可以省略。所以以上例子可以简化为如下的表示: SELECT ename, b.id, dname FROM employee a,dept b WHERE a.id=b.id 2.外连接 在以上的例子中,相等连接有一个问题:如果某个雇员的部门还没有填写,即保留为空,那么该雇员在查询中就不会出现;或者某个部门还没有雇员,该部门在查询中也不会出现。为了解决这个问题可以用外连,即除了显示满足相等连接条件的记录外,还显示那些不满足连接条件的行,不满足连接条件的行将显示在最后。外连操作符为(+),它可以出现在相等连接条件的左侧或右侧。出现在左侧或右侧的含义不同,这里用如下的例子予以说明。 使用外连显示不满足相等条件的记录。 显示雇员名称和所在部门的编号和名称。 执行以下查询:

ORACLE 多表关联 UPDATE 语句

为了方便起见,建立了以下简单模型,和构造了部分测试数据: 在某个业务受理子系统BSS中, SQL 代码 1.--客户资料表 2.create table customers 3.( 4.customer_id number(8) not null, -- 客户标示 5.city_name varchar2(10) not null, -- 所在城市 6.customer_type char(2) not null, -- 客户类型 7.... 8.) 9.create unique index PK_customers on customers (customer_id) 由于某些原因,客户所在城市这个信息并不什么准确,但是在 客户服务部的CRM子系统中,通过主动服务获取了部分客户20%的所在城市等准确信息,于是你将该部分信息提取至一张临时表中: SQL 代码

1) 最简单的形式 SQL 代码 2) 两表(多表)关联update -- 仅在where字句中的连接SQL 代码 3) 两表(多表)关联update -- 被修改值由另一个表运算而来SQL 代码

注意在这个语句中, =(select b.city_name,b.customer_type from tmp_cust_city b where b.customer_id=a.customer_id ) 与 (select 1 from tmp_cust_city b where b.customer_id=a.customer_id) 是两个独立的子查询,查看执行计划可知,对b表/索引扫描了2篇;如果舍弃where条件,则默认对A表进行全表 更新,但由于 SQL 代码

相关文档
最新文档