我了解SQL的第一次,而我是从这个网站上沿以下:http://code.tutsplus.com/articles/sql-for-beginners-part-3-database-relationships--net-8561为什么要使用外键?
笔者去宣告一个外键的麻烦,但我不认为它曾经做任何事情为了我们。下面是从页的例子:
CREATE TABLE customers (
customer_id INT AUTO_INCREMENT PRIMARY KEY,
customer_name VARCHAR(100)
);
CREATE TABLE orders (
order_id INT AUTO_INCREMENT PRIMARY KEY,
customer_id INT,
amount DOUBLE,
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
INSERT INTO `customers` (`customer_id`, `customer_name`) VALUES
(1, 'Adam'),
(2, 'Andy'),
(3, 'Joe'),
(4, 'Sandy');
INSERT INTO `orders` (`order_id`, `customer_id`, `amount`) VALUES
(1, 1, 19.99),
(2, 1, 35.15),
(3, 3, 17.56),
(4, 4, 12.34);
一些表的创建,并在订单表的CUSTOMER_ID由引用CUSTOMER_ID Customers表。
这里是混淆了我:文章的作者执行与各种结果下面的语句:
SELECT * FROM customers JOIN orders;
SELECT * FROM customers NATURAL JOIN orders;
SELECT * FROM customers JOIN orders WHERE customers.customer_id = orders.customer_id;
有涉及除其他事项外LEFT
和RIGHT OUTER JOIN
S比语句,但在任何时候做外键曾影响过任何事物
我错过了什么,或者这些例子太简单了,不值得使用外键?
感谢