亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL連表查詢的實(shí)現(xiàn)

 更新時(shí)間:2023年06月07日 14:48:12   作者:不是很帥@  
在Mysql數(shù)據(jù)庫(kù)中,表的連接操作是非常重要的,能夠?qū)⒉煌谋斫Y(jié)合在一起,實(shí)現(xiàn)更加豐富和復(fù)雜的查詢操作,本文主要介紹了MySQL連表查詢的實(shí)現(xiàn),感興趣的可以了解一下

1.連接查詢—內(nèi)連接

1.1隱式內(nèi)連接

笛卡爾乘積,錯(cuò)誤示范

select student.id ,teacher.t_id from student,teacher ;

 正確示范

 后面要加上條件證明兩表有相同的字段

select s.id, t.t_id from student s,teacher t where s.teacher_id= t.t_id;

1.1.1等值連接和非等值連接

等值連接指的多表查詢語(yǔ)句中的連接條件使用的是等號(hào)。

非等值連接指的是多表查詢語(yǔ)句中的連接條件使用的不是等號(hào)而是>,>=,<,<=,!=以及使用between進(jìn)行范圍判斷的稱之為非等值連接。

1.2.顯示內(nèi)連接—inner join

-- 顯示連接: A表 inner join B表 on 連表?xiàng)l件。 
2.查詢每一個(gè)員工的姓名,及關(guān)聯(lián)的部門的名稱〔顯式內(nèi)連接實(shí)現(xiàn))

select * from tb_emp  inner join tb_dept on tb_emp.dept_id=tb_dept.id;
select * from tb_emp e inner join tb_dept d on e.dept_id=d.id;

-- 上面的 inner可以省略。

select * from tb_emp e  join tb_dept d on e.dept_id=d.id;

2.連接查詢—外連接

2.1 左外連接

-- 語(yǔ)法: select 查詢列集 from A表 left join B表 on 連表?xiàng)l件
-- 1.查詢emp表的所有數(shù)據(jù), 和對(duì)應(yīng)的部門信息(左外連接)

select * from tb_emp e left outer join tb_dept d on e.dept_id = d.id;
select * from tb_emp e left join tb_dept d on e.dept_id=d.id;

-- 2.查詢dept表的所有數(shù)據(jù),和對(duì)應(yīng)的員工信息(右外連接)

2.2右外連接

select * from tb_emp e right join tb_dept d on e.dept_id=d.id;

3.自連查詢

自己和自己相連接查詢。
select * from A表 join A表 on 連表?xiàng)l件。

-- 1.查詢員工及其所屬領(lǐng)導(dǎo)的名字。你要查詢的結(jié)果再一張表中,但是還不能使用單表查詢得到結(jié)果。

select a.name,b.name from tb_emp a join tb_emp b on a.managerid=b.id;

-- 2.查詢所有員工 emp及其領(lǐng)導(dǎo)的名字emp ,如果員工沒(méi)有領(lǐng)導(dǎo),也需要查詢出來(lái)

select a.name,b.name from tb_emp a left join tb_emp b on a.managerid=b.id;

4.子查詢

一個(gè)查詢的結(jié)果 作為另一個(gè)查詢的條件 或者 臨時(shí)表。
-- 查詢市場(chǎng)部的員工信息-----
-- 子查詢返回的結(jié)果一列一條記錄。 這個(gè)時(shí)候可以用

 select * from tb_emp where dept_id=(select id from tb_dept where name='市場(chǎng)部')

-- 查詢市場(chǎng)部和研發(fā)部員工的信息。in
-- -- 查詢市場(chǎng)部和研發(fā)部員工的信息。
-- a) 查詢市場(chǎng)部和研發(fā)部的編號(hào)

select id from tb_dept where name in('市場(chǎng)部','研發(fā)部')

-- b) 再員工表中根據(jù)部門編號(hào)查詢員工信息

select * from tb_emp where dept_id in (select id from tb_dept where name in('市場(chǎng)部','研發(fā)部'))

5.組合查詢

多個(gè)查詢的結(jié)果 組合到一起。
sql union sql --->把這兩條sql查詢的結(jié)果組合到一起。如果有重復(fù)記錄則合并成一條。
sql union all sql--->把這兩條sql查詢的結(jié)果組合到一起。如果有重復(fù)記錄,不合并。

注意: 這兩條sql返回的字段必須一樣。

select name from tb_emp where salary>8000
UNION?
select * from tb_emp where age>40;

6.注意事項(xiàng)

如果查詢語(yǔ)句中出現(xiàn)了多個(gè)表中都存在的字段,則必須指明是哪個(gè)表中的字段

建議:從sql 優(yōu)化的角度,建議多表查詢時(shí),每個(gè)字段前都指明其所在的表。

正確代碼

select s.id, t.t_id from student s,teacher t where s.teacher_id= t.t_id;

可以給表起別名,在 SELECT 和 WHERE 中使用表的別名。

如果給表起了別名,一旦在 SELECT 或 WHERE 中使用表名的話,則必須使用表的別名,而不能再使用表的原名。

錯(cuò)誤示范

select s.id, t.t_id from student s,teacher t where student.teacher_id= teacher.t_id;

到此這篇關(guān)于MySQL連表查詢的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)MySQL連表查詢內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL進(jìn)階之索引

    MySQL進(jìn)階之索引

    索引就是一種數(shù)據(jù)結(jié)構(gòu),這種結(jié)構(gòu)類似,鏈表,樹(shù)等等。但是比它們要復(fù)雜的多,索引(index)是幫助MySQL高效獲取數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)(有序),本文詳細(xì)介紹了MySQL索引,感興趣的同學(xué)可以參考閱讀
    2023-04-04
  • 一文詳細(xì)講解如何查看mysql里面的鎖

    一文詳細(xì)講解如何查看mysql里面的鎖

    鎖是MySQL里面最難理解的知識(shí),但是又無(wú)處不在,下面這篇文章主要給大家介紹了關(guān)于關(guān)于如何查看mysql里面鎖的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • mysql如何利用Navicat導(dǎo)出和導(dǎo)入數(shù)據(jù)庫(kù)的方法

    mysql如何利用Navicat導(dǎo)出和導(dǎo)入數(shù)據(jù)庫(kù)的方法

    這篇文章主要介紹了mysql如何利用Navicat導(dǎo)出和導(dǎo)入數(shù)據(jù)庫(kù)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • MySQL性能設(shè)置

    MySQL性能設(shè)置

    網(wǎng)站訪問(wèn)量越來(lái)越大,MySQL自然成為瓶頸,因此最近我一直在研究 MySQL 的優(yōu)化,第一步自然想到的是 MySQL 系統(tǒng)參數(shù)的優(yōu)化
    2006-12-12
  • MYSQL比對(duì)版本號(hào)字符串的方法實(shí)例

    MYSQL比對(duì)版本號(hào)字符串的方法實(shí)例

    因?yàn)閙ysql的版本較多,所以最近也踩了一個(gè)因?yàn)榘姹咎?hào)字符串的坑,下面這篇文章主要給大家介紹了關(guān)于MYSQL比對(duì)版本號(hào)字符串的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • 允許遠(yuǎn)程訪問(wèn)MySQL的實(shí)現(xiàn)方式

    允許遠(yuǎn)程訪問(wèn)MySQL的實(shí)現(xiàn)方式

    這篇文章主要介紹了允許遠(yuǎn)程訪問(wèn)MySQL的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • MySQL數(shù)據(jù)類型和常用字段屬性總結(jié)

    MySQL數(shù)據(jù)類型和常用字段屬性總結(jié)

    這篇文章主要介紹了MySQL數(shù)據(jù)類型和常用字段屬性總結(jié),本文總結(jié)了日期和時(shí)間數(shù)據(jù)類型、數(shù)值數(shù)據(jù)類型、字符串?dāng)?shù)據(jù)類型等,需要的朋友可以參考下
    2014-09-09
  • 詳解MySQL中的視圖

    詳解MySQL中的視圖

    視圖是一個(gè)虛擬表,非真實(shí)存在,其本質(zhì)是根據(jù)SQL語(yǔ)句獲取動(dòng)態(tài)的數(shù)據(jù)集,并為其命名,用戶使用時(shí)只需使用視圖名稱即可獲取結(jié)果集,并可以將其當(dāng)作表來(lái)使用,這篇文章主要介紹了MySQL的視圖,需要的朋友可以參考下
    2022-12-12
  • mysql創(chuàng)建內(nèi)存表的方法

    mysql創(chuàng)建內(nèi)存表的方法

    這篇文章主要介紹了mysql創(chuàng)建內(nèi)存表的方法,并為大家準(zhǔn)備了一些注意事項(xiàng),需要的朋友可以參考下
    2014-03-03
  • MySQL數(shù)據(jù)庫(kù)遠(yuǎn)程訪問(wèn)權(quán)限如何打開(kāi)(兩種方法)

    MySQL數(shù)據(jù)庫(kù)遠(yuǎn)程訪問(wèn)權(quán)限如何打開(kāi)(兩種方法)

    本文通過(guò)兩種方法給大家介紹MySQL數(shù)據(jù)庫(kù)遠(yuǎn)程訪問(wèn)權(quán)限的打開(kāi)方法,非常不錯(cuò),實(shí)用性非常高,感興趣的朋友一起看看吧
    2016-05-05

最新評(píng)論