如何从两个表中提取数据?

时间:2013-07-26 23:35:29

标签: sql select insert inner-join

考虑一下我的情况:

CREATE TABLE COMMANDE(
   _ID INTEGER PRIMARY KEY AUTOINCREMENT, 
   login_id INTEGER NOT NULL 
   menu_id INTEGER NOT NULL, 
   FOREIGN KEY(login_id) REFERENCES LOGIN(_ID),
   FOREIGN KEY(menu_id) REFERENCES MENU(_ID)
)

对于这张表,我可以这样做:

//第一顺序

INSERT INTO COMMANDE VALUES (0, 0, 0);

//第二顺序:

INSERT INTO COMMANDE VALUES (1, 0, 0);

//第三顺序:不同的用户

INSERT INTO COMMANDE VALUES (2, 1, 0);

// Fouth Order:不同的菜单项

INSERT INTO COMMANDE VALUES (3, 1, 1);

如何获取特定用户的详细信息?或者具体项目的细节?使用SELECT查询,因为这些表与约束链接...

可以吗?也许有一些INNER JOIN

2 个答案:

答案 0 :(得分:0)

SELECT *
FROM COMMANDE C
LEFT JOIN LOGIN L ON (C.login_id = L._id)
LEFT JOIN MENU M ON (C.menu_id = M._id)
WHERE C.login_id = 1

这样的东西?

答案 1 :(得分:0)

获取特定用户的详细信息:

SELECT m.*
FROM LOGIN l
JOIN COMMANDE c ON l._id = c.login_id
JOIN MENU m ON m._id = c.menu_id
WHERE l._id = 1