Mysql 选择并联接所有表
您好,有人能帮助我如何连接所有这些关于序列号的表吗?我使用的示例中,name2=mynameis2;我只能连接两个或三个表,但如果选择所有表,则无法连接 ERD的示例。 SQL脚本:Mysql 选择并联接所有表,mysql,mysql-workbench,Mysql,Mysql Workbench,您好,有人能帮助我如何连接所有这些关于序列号的表吗?我使用的示例中,name2=mynameis2;我只能连接两个或三个表,但如果选择所有表,则无法连接 ERD的示例。 SQL脚本: SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_SQL_MODE=@@SQL
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
-- -----------------------------------------------------
-- Schema mydb
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;
USE `mydb` ;
-- -----------------------------------------------------
-- Table `mydb`.`table1`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`table1` (
`idtable1` INT NOT NULL,
`name1` VARCHAR(45) NULL,
PRIMARY KEY (`idtable1`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`table6`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`table6` (
`idtable6` INT NOT NULL,
`name6` VARCHAR(45) NULL,
PRIMARY KEY (`idtable6`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`table2`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`table2` (
`idtable2` INT NOT NULL,
`name2` VARCHAR(45) NULL,
`idtable1` INT NOT NULL,
`idtable6` INT NOT NULL,
PRIMARY KEY (`idtable2`),
INDEX `fk_table2_table1_idx` (`idtable1` ASC),
INDEX `fk_table2_table61_idx` (`idtable6` ASC),
CONSTRAINT `fk_table2_table1`
FOREIGN KEY (`idtable1`)
REFERENCES `mydb`.`table1` (`idtable1`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_table2_table61`
FOREIGN KEY (`idtable6`)
REFERENCES `mydb`.`table6` (`idtable6`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`table3`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`table3` (
`idtable3` INT NOT NULL,
`name3` VARCHAR(45) NULL,
PRIMARY KEY (`idtable3`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`table4`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`table4` (
`idtable4` INT NOT NULL,
`name4` VARCHAR(45) NULL,
`idtable2` INT NOT NULL,
`idtable3` INT NOT NULL,
PRIMARY KEY (`idtable4`),
INDEX `fk_table4_table21_idx` (`idtable2` ASC),
INDEX `fk_table4_table31_idx` (`idtable3` ASC),
CONSTRAINT `fk_table4_table21`
FOREIGN KEY (`idtable2`)
REFERENCES `mydb`.`table2` (`idtable2`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_table4_table31`
FOREIGN KEY (`idtable3`)
REFERENCES `mydb`.`table3` (`idtable3`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`table7`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`table7` (
`idtable7` INT NOT NULL,
`name7` VARCHAR(45) NULL,
PRIMARY KEY (`idtable7`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`table5`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`table5` (
`idtable5` INT NOT NULL,
`name5` VARCHAR(45) NULL,
`idtable2` INT NOT NULL,
`idtable7` INT NOT NULL,
PRIMARY KEY (`idtable5`),
INDEX `fk_table5_table21_idx` (`idtable2` ASC),
INDEX `fk_table5_table71_idx` (`idtable7` ASC),
CONSTRAINT `fk_table5_table21`
FOREIGN KEY (`idtable2`)
REFERENCES `mydb`.`table2` (`idtable2`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_table5_table71`
FOREIGN KEY (`idtable7`)
REFERENCES `mydb`.`table7` (`idtable7`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
试一试
你不知道怎么加入吗?你检查连接了吗?我只能使用连接两个表;从表2中选择名称1,名称2使用数据表1连接表1同样不能连接其他表,或者不能理解表之间的关系?有点。我只是一个新加入表,我只是尝试,如果它会工作。对不起,谢谢你,它起作用了。我将以此作为参考,以了解更多关于加入的信息。谢谢:不客气。没那么难。我相信你会学到更多
select * from table1 t1
join table2 t2 on t1.idtable1 = t2.idtable1
join table4 t4 on t2.idtable2 = t4.idtable2
join table3 t3 on t4.idtable3 = t3.idtable3
join table5 t5 on t2.idtable2 = t5.idtable2
join table6 t6 on t2.idtable6 = t6.idtable6
join table7 t7 on t5.idtable7 = t7.idtable7