MySQL查詢語句

2021-08-10 12:40:05 字數 3569 閱讀 9144

建立水果表:

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...