我一共有六张表,六张表交叉连接查询, 一张表十条记录。
CREATE TABLE QIN_PRODUCT_TYPES
(
PRODUCT_TYPE_ID NUMBER(22) PRIMARY KEY NOT NULL,
NAME VARCHAR2(10) NOT NULL
);
CREATE TABLE QIN_PURCHASES
(
CUSTOMER_ID NUMBER(22) NOT NULL,
PRODUCT_ID NUMBER(22) NOT NULL,
QUANTITY NUMBER(22) NOT NULL,
CONSTRAINT SYS_C0011109 PRIMARY KEY (CUSTOMER_ID, PRODUCT_ID)
);
CREATE TABLE QIN_PRODUCTS
(
PRODUCT_ID NUMBER(22) PRIMARY KEY NOT NULL,
DESCRIPTION VARCHAR2(50),
NAME VARCHAR2(30) NOT NULL,
PRICE FLOAT(126),
PRODUCT_TYPE_ID NUMBER(22)
);
CREATE TABLE QIN_CUSTOMERS
(
CUSTOMER_ID NUMBER(22) PRIMARY KEY NOT NULL,
DCB DATE,
FIRST_NAME VARCHAR2(10) NOT NULL,
LAST_NAME VARCHAR2(10) NOT NULL,
PHONE VARCHAR2(12)
);
CREATE TABLE QIN_EMPLOYEES
(
EMPLOYEE_ID NUMBER(22) PRIMARY KEY NOT NULL,
FIRST_NAME VARCHAR2(10) NOT NULL,
LAST_NAME VARCHAR2(10) NOT NULL,
MANAGER_ID NUMBER(22),
SALARY NUMBER(10),
TITLE VARCHAR2(20)
);
CREATE TABLE QIN_SALARY_GRADES
(
SALARY_GRADE_ID NUMBER(22) PRIMARY KEY NOT NULL,
HIGH_SALARY NUMBER(10),
LOW_SALARY NUMBER(10)
);
ALTER TABLE QIN_PURCHASES ADD FOREIGN KEY (CUSTOMER_ID) REFERENCES QIN_CUSTOMERS (CUSTOMER_ID);
ALTER TABLE QIN_PURCHASES ADD FOREIGN KEY (PRODUCT_ID) REFERENCES QIN_PRODUCTS (PRODUCT_ID);
ALTER TABLE QIN_PRODUCTS ADD FOREIGN KEY (PRODUCT_TYPE_ID) REFERENCES QIN_PRODUCT_TYPES (PRODUCT_TYPE_ID);为什么交叉连接查询后会出现二十五万条记录啊?
CREATE TABLE QIN_PRODUCT_TYPES
(
PRODUCT_TYPE_ID NUMBER(22) PRIMARY KEY NOT NULL,
NAME VARCHAR2(10) NOT NULL
);
CREATE TABLE QIN_PURCHASES
(
CUSTOMER_ID NUMBER(22) NOT NULL,
PRODUCT_ID NUMBER(22) NOT NULL,
QUANTITY NUMBER(22) NOT NULL,
CONSTRAINT SYS_C0011109 PRIMARY KEY (CUSTOMER_ID, PRODUCT_ID)
);
CREATE TABLE QIN_PRODUCTS
(
PRODUCT_ID NUMBER(22) PRIMARY KEY NOT NULL,
DESCRIPTION VARCHAR2(50),
NAME VARCHAR2(30) NOT NULL,
PRICE FLOAT(126),
PRODUCT_TYPE_ID NUMBER(22)
);
CREATE TABLE QIN_CUSTOMERS
(
CUSTOMER_ID NUMBER(22) PRIMARY KEY NOT NULL,
DCB DATE,
FIRST_NAME VARCHAR2(10) NOT NULL,
LAST_NAME VARCHAR2(10) NOT NULL,
PHONE VARCHAR2(12)
);
CREATE TABLE QIN_EMPLOYEES
(
EMPLOYEE_ID NUMBER(22) PRIMARY KEY NOT NULL,
FIRST_NAME VARCHAR2(10) NOT NULL,
LAST_NAME VARCHAR2(10) NOT NULL,
MANAGER_ID NUMBER(22),
SALARY NUMBER(10),
TITLE VARCHAR2(20)
);
CREATE TABLE QIN_SALARY_GRADES
(
SALARY_GRADE_ID NUMBER(22) PRIMARY KEY NOT NULL,
HIGH_SALARY NUMBER(10),
LOW_SALARY NUMBER(10)
);
ALTER TABLE QIN_PURCHASES ADD FOREIGN KEY (CUSTOMER_ID) REFERENCES QIN_CUSTOMERS (CUSTOMER_ID);
ALTER TABLE QIN_PURCHASES ADD FOREIGN KEY (PRODUCT_ID) REFERENCES QIN_PRODUCTS (PRODUCT_ID);
ALTER TABLE QIN_PRODUCTS ADD FOREIGN KEY (PRODUCT_TYPE_ID) REFERENCES QIN_PRODUCT_TYPES (PRODUCT_TYPE_ID);为什么交叉连接查询后会出现二十五万条记录啊?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货