mysql多表查询

多表查询
SELECT 列名  (如果列名在两个表中都有出现,那么要以表名.列名的形式来指明列的归属)
FROM 表1 JOIN 表2 ON 表1.列名1=表2.列名1 (说明:等号两边的列名1就是表1和表2的公共列)
JOIN 表3 ON 表2.列名2=表3.列名2
WHERE 限制条件

例:

CREATE DATABASE IF NOT EXISTS ConstructionDB CHARSET utf8;
USE ConstructionDB;
CREATE TABLE T_flow_step_def(
step_no INT PRIMARY KEY,
step_name VARCHAR(30) NOT NULL,
step_des VARCHAR(64),
limit_time INT,
url VARCHAR(64) NOT NULL,
reserve VARCHAR(256)
);
CREATE TABLE T_flow_type(
flow_type_id CHAR(3) PRIMARY KEY,
flow_type_name VARCHAR(64) NOT NULL,
in_method_id CHAR(3) NOT NULL,
in_choice_id CHAR(3) NOT NULL,
reserve VARCHAR(256)
);
CREATE TABLE T_flow_procedure(
step_no INT,
flow_type_id CHAR(3),
serial_no INT,
limit_time INT,
reserve VARCHAR(30),
PRIMARY KEY(step_no,flow_type_id),
FOREIGN KEY(step_no) REFERENCES T_flow_step_def(step_no),
FOREIGN KEY(flow_type_id) REFERENCES T_flow_type(flow_type_id)
);
CREATE TABLE T_sub_project(
project_id VARCHAR(32),
sub_pro_id CHAR(2) DEFAULT '0',
flow_type_id CHAR(3) NOT NULL,
sub_pro_name VARCHAR(64),
usb_no VARCHAR(64) NOT NULL,
in_method_id CHAR(3) NOT NULL CHECK(in_method_id IN('1','2')),
in_scope_id CHAR(3) NOT NULL,
in_choice_id CHAR(3) NOT NULL,
proj_type_id CHAR(3) NOT NULL CHECK(proj_type_id IN('1','2','3')),
engin_type_id CHAR(3),
pack_type CHAR(1) NOT NULL DEFAULT '0',
grade_type_id CHAR(1) NOT NULL,
flag_done CHAR(1) DEFAULT '0',
flag_forcebreak CHAR(1) DEFAULT '0',
reserve VARCHAR(256),
PRIMARY KEY (project_id,sub_pro_id),
FOREIGN KEY(flow_type_id) REFERENCES T_flow_type(flow_type_id)
);
#插入数据
/*
给出的列的值的个数与列的个数相同
INSERT into 表名 VALUES (列的值);
*/
INSERT INTO T_flow_step_def VALUES(1,'中标公示','公示中标情况','30','http://localhost:8080/stepmenu.jsp','在规定时间内如有异议则请联系我们');
INSERT INTO T_flow_type VALUES('T01','开标','1','001','无');
INSERT INTO T_sub_project VALUES('P0001','01','T01','开标前','123456','1','F01','X01','X01','G01','1','1','1','1','无');
INSERT INTO T_sub_project VALUES('P0002','01','T01','开标前','123456','1','F01','X01','X01','G01','1','1','0','1','无');
INSERT INTO T_flow_procedure VALUES(1,'T01',1,7,'无');
#1.查询出招标方式代号为“1”的所有标段情况信息;
SELECT * 
FROM t_sub_project 
WHERE in_method_id='1';
#查询出所有完成标志为“0”的标段情况信息;
SELECT * 
FROM t_sub_project
WHERE flag_done='0';
#2.查询出流程类别名称为“开标”的所有标段情况;
/*
多表查询
SELECT 列名  (如果列名在两个表中都有出现,那么要以表名.列名的形式来指明列的归属)
FROM 表1 JOIN 表2 ON 表1.列名=表2.列名  (说明:等号两边的列名就是表1和表2的公共列)
WHERE 限制条件 
*/
SELECT SP.*
FROM t_sub_project SP JOIN T_flow_type FT ON SP.flow_type_id=FT.flow_type_id
WHERE flow_type_name='开标';

#3.查询所有的流程的步骤名称、流程步骤描述及流程类别名称。/*
/*
多表查询
SELECT 列名  (如果列名在两个表中都有出现,那么要以表名.列名的形式来指明列的归属)
FROM 表1 JOIN 表2 ON 表1.列名1=表2.列名1 (说明:等号两边的列名1就是表1和表2的公共列)
	 JOIN 表3 ON 表2.列名2=表3.列名2
WHERE 限制条件
*/
SELECT step_name,step_des,flow_type_name 
FROM  T_flow_step_def SP JOIN T_flow_procedure FP ON SP.step_no=FP.step_no
JOIN T_flow_type FT JOIN T_sub_project SPR ON FT.flow_type_id=SPR.flow_type_id;

 

资源下载链接为: https://pan.quark.cn/s/ddc62c5d4a5d Windows Mobile 是微软在 0200 年代至 2010 年代初推的移动操作系统,曾广泛应用于智能手机和平板电脑。开发者可以借助各种库和框架为其开发功能丰富的应用,其中 “32feet.NET” 是一个开源的 .NET 库,专为 .NET Framework 和 .NET Compact Framework 提供蓝牙开发支持。它包含个命名空间,例如 InTheHand.Devices.Bluetooth、InTheHand.Net.Personal 和 InTheHand.Phone.Bluetooth,用于实现蓝牙设备交互功能。 InTheHand.Devices.Bluetooth 命名空间用于执行基础蓝牙操作,比如扫描附近设备、建立连接以及发现蓝牙服务等。InTheHand.Net.Personal 提供了更高级的功能,例如创建个人区域网络(PAN)、文件传输和串行端口模拟,便于开发者开发跨设备的数据共享应用。而 InTheHand.Phone.Bluetooth 主要针对 Windows Phone 平台,支持蓝牙配对、消息收发和蓝牙耳机控制等功能,不过由于 Windows Mobile 已停止更新,该命名空间更适用于旧设备或项目。 压缩包中的文件列看似是维基页面的渲染文件,可能是关于 32feet.NET 的使用教程、API 参考或示例代码。文件名如 13632.html、563803.html 等可能是页面 ID,涵盖蓝牙设备搜索、连接和数据传输等不同主题。 使用 32feet.NET 进行蓝牙开发时,开发者需要注意以下几点:首先,确保开发环境已安装 .NET Framework 或 .NET Compact Framework,以及 32feet.NET
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值