建立水果表:
create
table fruits
(f_id char(10) not
null,
s_id int
notnull,
f_name char(255) not
null,
f_price decimal(8,2) not
null,
primary
key(f_id)
);
插入資料:
insert
into fruits (f_id, s_id, f_name, f_price)
values
('2', 101, 'blackberry', 10.2),
('3', 102, 'orange', 11.2),
('4', 105, 'melon', 8.2),
('5', 102, 'banana', 10.3),
('6', 102, 'grape', 5.3),
('7', 103, 'coconut', 9.2),
('8', 101, 'cherry', 3.2),
('9', 103, 'apricot', 2.2),
('10', 104, 'lemon', 6.4),
('11', 104, 'berry', 7.6),
('12', 106, 'mango', 15.6);
建立**商表:
create
table suppliers (
s_id int
notnull auto_increment,
s_name char (50) not
null,
s_city char (50) null,
s_zip char (10) null,
s_call char (50) not
null,
primary
key (s_id)
);
插入資料:
insert
into suppliers (
s_id,
s_name,
s_city,
s_zip,
s_call
)values
(101,
'fastfruit inc.',
'tianjin',
'300000',
'48075'),(
102,
'lt supplies',
'chongqing',
'400000',
'44333'),(
103,
'acme',
'shanghai',
'200000',
'90046'),(
104,
'fnk inc.',
'zhongshan',
'528437',
'11111'),(
105,
'good set',
'taiyuang',
'030000',
'22222'),(
106,
'just eat ours',
'beijing',
'010',
'45678'),(
107,
'dk inc.',
'zhengzhou',
'450000',
'33332'
);
(1).內連線查詢
select
f.f_name,
f.f_price,
s.s_name,
s.s_city
from
fruits f
inner
join suppliers s on f.s_id = s.s_id;
查詢結果:
「on」 作為兩張表內連的條件,如果沒有這個條件會產生乙個笛卡爾集的結果。
(2).左連線查詢
左連線的結果包括left join子句中指定的左表的所有行,而不僅僅是連線列所匹配的行。如果左表的某行在右表中沒有匹配行,則在相關聯的結果行中,右表的所有選擇列表列均為空值。
select
f.f_name,
f.f_price,
s.s_name,
s.s_city
from
fruits f
left
join suppliers s on f.s_id = s.s_id;
結果:
第一條蘋果沒有匹配對應的**商,蘋果資訊查出來了,**商資訊就為空
(3).右連
右連線是左連線的反向連線,將返回右表的所有行。如果右表的某行在左表中沒有匹配行,左表將返回空值。
union 用於合併兩個或多個 select 語句的結果集,並消去表中任何重複行。union 內部的 select 語句必須擁有相同數量的列,列也必須擁有相似的資料型別。同時,每條 select 語句中的列的順序必須相同.
語法:
select column_name from table1
union
select column_name from table2
例:
預設地,union 操作符選取不同的值。如果允許重複的值,請使用 union all。當 all 隨 union 一起使用時(即 union all),不消除重複行。
另外,union 結果集中的列名總是等於 union 中第乙個 select 語句中的列名。
mysql 查詢語句
在pdo中有很多模式能用,在使用的時候在用 bindvalue 的時候 在select 中有in 的 語句無法實現,在傳入的時候 select from users where id in 1,2,3 當1,2,3 用 pdo param str 的時候,會出現這種情況 select from ue...
MYSQL查詢語句
內連線 取的兩個表的 有能連線的字段 的交集,即欄位相同的。利用內連線可獲取兩表的公共部分的記錄。select st.sno,st.sname,st.s st.age,st.sdept,co.cname,sc.grade from student st,course co,score sc wher...
MySQL 查詢語句
建立資料庫 create database python test 1 charset utf8 使用資料庫 use python test 1 students表 create table students id int unsigned primary key auto increment no...