mySQL資料庫之子查詢與多表查詢

2021-10-07 22:12:25 字數 2749 閱讀 7275

#user_info表

create

table user_info(

id int(2

)primary

key,

user_name varchar(12

)unique

, password varchar(15

)not

null

, real_name varchar(8

)not

null

, age int(3

));#address表

create

table address(

id int(2

)primary

key,

user_id int(2

)not

null

, real_name varchar(8

),mobile char(11

),address varchar

(150))

;insert

into user_info values(1

,'淺唱灬幸福'

,'8912@321'

,'王曉明',12

);insert

into address values(1

,1,'王小明'

,'15516472282'

,'山西太原');

insert

into address values(2

,1,'王鑫'

,'18404905139'

,'山西大同');

insert

into address values(3

,1,'任建'

,'15333021730'

,'山西晉城');

insert

into user_info values(2

,'ぅ浮生若夢〤'

,'56701wz'

,'王楠',36

);insert

into address values(4

,2,'王楠'

,'15010303314'

,'北京海淀');

insert

into address values(5

,2,'趙婕'

,'18435224278'

,'山西長治');

insert

into user_info values(3

,'街角の風鈴'

,'27w4921'

,'李曉飛',9

);insert

into address values(6

,6,'劉倩'

,'13159775555'

,'吉林長春'

);

結果:

查詢中的查詢即為子查詢,一般使用括號將子查詢sql括起來。

#子查詢

#獲取指定使用者名稱的所有位址(根據某個已知條件獲取資料)

select

*from address where user_id=

(select id from user_info where user_name=

'淺唱灬幸福'

)#當返回的結果不止一條時用in

select

*from address where user_id in

(select id from user_info where real_name like

'王%'

)

注:因為會影響效能,所以一般不會使用

多表之間必須有關聯關係

內連線:取多表之間的交集

#顯式等值連線:

select ui.

*,addr.

*from user_info ui join address addr on ui.id = addr.user_id;

#隱式等值連線:

select ui.

*,addr.

*from user_info ui,address addr where ui.id=addr.user_id

外連線:
#左外連線

#left:查詢出該關鍵字左邊的所有資料

select ui.

*,addr.

*from user_info ui left

join address addr on ui.id=addr.user_id

#右外連線

#right:查詢出該關鍵字右邊的所有資料

資料庫 MySQL多表查詢

某教學資料結構大概如下 表1 student 學生表 sid,name,age,gender表2 course 課程表 cid,name,teacher表3 score 成績表 sid,cid,score 成績 編寫sql語句查詢所有學習課程名為python的學生資訊,實現語句如下 select s...

MySQL資料庫多表查詢

多表查詢 多個有關係的表關聯查詢。user info表 create table user info id int 2 primary key,user name varchar 12 unique password varchar 15 not null real name varchar 8 n...

資料庫的多表查詢 mysql

dml sql語句的乙個分類,dml主要完成資料庫表中資料的維護,即 新增 刪除 修改 實體完整性 表中不能出現兩行完全一樣的資料 解決方案 給表中新增主鍵 id 讓該列的值唯一 域完整性 表中的值必須正確,在mysql8.0之後,可以使用check關鍵字實現 引用完整性 自定義完整性 需要根據業務...