MySQL 兩個(gè)庫(kù)查詢
MySQL是一種開(kāi)源的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),常常用于構(gòu)建Web應(yīng)用程序。一個(gè)常見(jiàn)的應(yīng)用場(chǎng)景是兩個(gè)不同的數(shù)據(jù)庫(kù)之間的查詢。本文將介紹如何在MySQL中進(jìn)行兩個(gè)不同數(shù)據(jù)庫(kù)之間的查詢。
創(chuàng)建測(cè)試數(shù)據(jù)庫(kù)
首先我們需要?jiǎng)?chuàng)建兩個(gè)測(cè)試數(shù)據(jù)庫(kù):
CREATE DATABASE test1; USE test1; CREATE TABLE users ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, age INT, PRIMARY KEY (id) ); INSERT INTO users (name, age) VALUES ('John Doe', 25), ('Jane Doe', 30); CREATE DATABASE test2; USE test2; CREATE TABLE orders ( id INT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, product_name VARCHAR(50) NOT NULL, PRIMARY KEY (id), FOREIGN KEY (user_id) REFERENCES test1.users(id) ); INSERT INTO orders (user_id, product_name) VALUES (1, 'Product A'), (1, 'Product B'), (2, 'Product C');
使用JOIN查詢
在MySQL中,我們可以使用JOIN子句來(lái)連接兩個(gè)數(shù)據(jù)庫(kù)中的表:
SELECT users.name, orders.product_name FROM test1.users JOIN test2.orders ON test1.users.id = test2.orders.user_id
該查詢將返回如下結(jié)果:
+----------+--------------+ | name | product_name | +----------+--------------+ | John Doe | Product A | | John Doe | Product B | | Jane Doe | Product C | +----------+--------------+
使用UNION查詢
除了使用JOIN子句,我們還可以使用UNION子句來(lái)組合兩個(gè)數(shù)據(jù)庫(kù)中的結(jié)果:
SELECT name FROM test1.users UNION SELECT product_name FROM test2.orders
該查詢將返回如下結(jié)果:
+-----------+ | name | +-----------+ | Jane Doe | | John Doe | | Product A | | Product B | | Product C | +-----------+
總結(jié)
使用MySQL進(jìn)行兩個(gè)數(shù)據(jù)庫(kù)之間的查詢非常簡(jiǎn)單,只需要使用JOIN或UNION即可。請(qǐng)注意,在使用JOIN時(shí),需要使用外鍵將兩個(gè)表聯(lián)系起來(lái)。