?? ??? ?? ??
?? ??? ?? ??
??? ??
?? ???? ??? ???? ?? ?? ?? ??? ??? ???? ??? ? ????. ??? ??? ?? ??? ?? ???? ?????.
1. ?? ??: ? ???? ??? ?? ??? ?? ?? ??? ???? ????? ???? ??? ??? ???? ?????.
2. ?? ??: ???? ?? ?? ???? ???? ?? ?? ??? ?? ??? ???? ?????.
??? ??? ?, ??? ?? ????? ??? ??? 2?? ??????.
1. ??? ??? ???? User ???
2. ???? ??? ??? ??????
??? ??? ???
CREATE TABLE IF NOT EXISTS user ( uid int(11) NOT NULL, username varchar(30) NOT NULL, password char(32) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS order_goods ( oid int(11) NOT NULL, uid int(11) NOT NULL, name varchar(50) NOT NULL, buytime int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
??? ??? ???? ??? ????.
??: ?? order_goods ????? uid? ??? ???? uid ??? ?????. ? ??? oid? ?? ??? ?? 1?? uid? ?? ???? 10???. ??? ???? uid 10? ?? ???? ??: Gao Xiaofeng. ???? Apple ???? ??????. ?? ?? buytime? ??? ????????.
?? ??
??: ?? ??? from ???? ??? ??? ?????.
??? ??? ?? ??? ??? ??? ???? ????. ??? ?? ???? ???? ?? ?? ??? ? ????. ??? ??? ??? ?? ?? string.field? ?????.
mysql> select u.uid ,u.username as username,o.oid,o.uid,o.name as shopname from user u,order_goods o where u.uid = o.uid; +-----+-----------+-----+-----+---------------+ | uid | username | oid | uid | shopname | +-----+-----------+-----+-----+---------------+ | 10 | 高小峰 | 1 | 10 | 蘋(píng)果鼠標(biāo) | | 3 | 李文凱 | 2 | 3 | iphone 12s | | 12 | 李小超 | 3 | 12 | 雪碧 | | 15 | 佟小剛 | 4 | 15 | | | 3 | 李文凱 | 5 | 3 | iphone 鍵盤(pán) | +-----+-----------+-----+-----+---------------+ 5 rows in set (0.00 sec)
????2:
??? ????1? ?????.
mysql> select user.uid ,user.username as username,order_goods.oid,order_goods.uid,order_goods.name as shopname from user inner join order_goods on user.uid = order_goods.uid; +-----+-----------+-----+-----+---------------+ | uid | username | oid | uid | shopname | +-----+-----------+-----+-----+---------------+ | 10 | 高小峰 | 1 | 10 | 蘋(píng)果鼠標(biāo) | | 3 | 李文凱 | 2 | 3 | iphone 12s | | 12 | 李小超 | 3 | 12 | 雪碧 | | 15 | 佟小剛 | 4 | 15 | | | 3 | 李文凱 | 5 | 3 | iphone 鍵盤(pán) | +-----+-----------+-----+-----+---------------+ 5 rows in set (0.00 sec)
?? ??
?? ??? ?? ??? ??? ??? ????, ???? ??? ??? ????. ??? ????.
?? ??: ?? ???? ?? ???, ??? ???? ???? ???? ?? ????? ??
mysql> select * from user left join order_goods on user.uid = order_goods.uid; +-----+-----------+------------+------+------+---------------+-----------+ | uid | username | password | oid | uid | name | buytime | +-----+-----------+------------+------+------+---------------+-----------+ | 10 | 高小峰 | 3124qwqw | 1 | 10 | 蘋(píng)果鼠標(biāo) | 1212313 | | 3 | 李文凱 | 1235531 | 2 | 3 | iphone 12s | 123121241 | | 12 | 李小超 | 311aqqee | 3 | 12 | 雪碧 | 13232333 | | 15 | 佟小剛 | 3cxvdfs | 4 | 15 | | 34242123 | | 3 | 李文凱 | 1235531 | 5 | 3 | iphone 鍵盤(pán) | 12123413 | | 1 | 景甜 | 123456 | NULL | NULL | NULL | NULL | | 2 | 王小二 | 245667 | NULL | NULL | NULL | NULL | | 4 | 井柏然 | 123455 | NULL | NULL | NULL | NULL | | 5 | 范冰冰 | 5abcwa | NULL | NULL | NULL | NULL | | 6 | 黃曉明 | abcdeef | NULL | NULL | NULL | NULL | | 7 | anglebaby | caption | NULL | NULL | NULL | NULL | | 8 | TFBOYS | abcdwww | NULL | NULL | NULL | NULL | | 9 | 安小超 | 12tfddwd | NULL | NULL | NULL | NULL | | 11 | 李小強(qiáng) | 323fxfvdvd | NULL | NULL | NULL | NULL | | 13 | 韓小平 | 121rcfwrfq | NULL | NULL | NULL | NULL | | 14 | 宋小康 | 123123tcsd | NULL | NULL | NULL | NULL | +-----+-----------+------------+------+------+---------------+-----------+ 16 rows in set (0.00 sec)
??? ??: ??? ???? ?? ???, ??? ???? ??? ?? ??? ???
mysql> select * from user right join order_goods on user.uid = order_goods.uid; +------+-----------+----------+-----+-----+---------------+-----------+ | uid | username | password | oid | uid | name | buytime | +------+-----------+----------+-----+-----+---------------+-----------+ | 10 | 高小峰 | 3124qwqw | 1 | 10 | 蘋(píng)果鼠標(biāo) | 1212313 | | 3 | 李文凱 | 1235531 | 2 | 3 | iphone 12s | 123121241 | | 12 | 李小超 | 311aqqee | 3 | 12 | 雪碧 | 13232333 | | 15 | 佟小剛 | 3cxvdfs | 4 | 15 | | 34242123 | | 3 | 李文凱 | 1235531 | 5 | 3 | iphone 鍵盤(pán) | 12123413 | +------+-----------+----------+-----+-----+---------------+-----------+ 5 rows in set (0.00 sec)
Subquery
? ???? ???? ????.??? ??? ? ?? ??? ?? select ?? ??? ??? ???, ? ?? ?? ??? ???? ???. ?? ??? ???? ????? in, not in, =, !=, ???, ???? ?? ?? ?????.
? 1:
mysql> select * from user where uid in (1,3,4); +-----+-----------+----------+ | uid | username | password | +-----+-----------+----------+ | 1 | 景甜 | 123456 | | 3 | 李文凱 | 1235531 | | 4 | 井柏然 | 123455 | +-----+-----------+----------+ 3 rows in set (0.00 sec)
? 2:
mysql> select * from user where uid in (select uid from order_goods); +-----+-----------+----------+ | uid | username | password | +-----+-----------+----------+ | 10 | 高小峰 | 3124qwqw | | 3 | 李文凱 | 1235531 | | 12 | 李小超 | 311aqqee | | 15 | 佟小剛 | 3cxvdfs | +-----+-----------+----------+ 4 rows in set (0.00 sec)rrree
??? ???
Union ? Union All ???? ???? ?? ?? ??? ?? ? ???? ???? ??? ? ??? ???? ?????. ?? ?? ???? ??? ?? ????? ???, ???? ?? ???? ? ??? ?? ??? ??? ???? ??? ???? ??? ?????.