คำถามติดแท็ก join

JOIN เป็นการดำเนินการทั่วไปในพีชคณิตเชิงสัมพันธ์สำหรับการดำเนินการรวมกันในความสัมพันธ์สองหรือมากกว่าในระบบฐานข้อมูลเชิงสัมพันธ์ เข้าร่วมยังเป็นคำหลักของภาษา SQL สำหรับการดำเนินการนี้

26
อะไรคือความแตกต่างระหว่าง“ เข้าร่วมภายใน” และ“ เข้าร่วมนอก”?
คุณได้เข้าร่วมกองซ้อนโอเวอร์โฟลด์หรือไม่ Stack overflow нарусском : Вчемразличиямежду INNER JOIN и OUTER JOIN? นอกจากนี้ยังทำอย่างไรLEFT JOIN, RIGHT JOINและFULL JOINพอดีมีอะไรบ้าง?

13
วิธีเข้าร่วม (รวม) เฟรมข้อมูล (ภายใน, ภายนอก, ซ้าย, ขวา)
รับกรอบข้อมูลสอง: df1 = data.frame(CustomerId = c(1:6), Product = c(rep("Toaster", 3), rep("Radio", 3))) df2 = data.frame(CustomerId = c(2, 4, 6), State = c(rep("Alabama", 2), rep("Ohio", 1))) df1 # CustomerId Product # 1 Toaster # 2 Toaster # 3 Toaster # 4 Radio # 5 Radio # 6 Radio df2 # CustomerId …
1233 r  join  merge  dataframe  r-faq 

6
ความแตกต่างระหว่างเข้าร่วมและเข้าร่วมภายใน
การเข้าร่วมทั้งสองนี้จะให้ผลลัพธ์แบบเดียวกันกับฉัน: SELECT * FROM table JOIN otherTable ON table.ID = otherTable.FK VS SELECT * FROM table INNER JOIN otherTable ON table.ID = otherTable.FK มีความแตกต่างระหว่างงบในการปฏิบัติงานหรืออื่น ๆ ? มันแตกต่างกันระหว่างการใช้SQL ที่แตกต่างกันหรือไม่?

11
เข้าร่วมภายในกับข้อที่
NOT NULLสำหรับความเรียบง่ายสมมติช่องที่เกี่ยวข้องทั้งหมดที่มี คุณทำได้: SELECT table1.this, table2.that, table2.somethingelse FROM table1, table2 WHERE table1.foreignkey = table2.primarykey AND (some other conditions) หรืออื่น ๆ: SELECT table1.this, table2.that, table2.somethingelse FROM table1 INNER JOIN table2 ON table1.foreignkey = table2.primarykey WHERE (some other conditions) ทั้งสองทำงานในลักษณะเดียวกันMySQLหรือไม่
941 sql  mysql  join  inner-join 

22
SQL อัพเดตจากตารางหนึ่งไปอีกตารางหนึ่งขึ้นอยู่กับการจับคู่ ID
ฉันมีฐานข้อมูลที่มีและaccount numbers card numbersฉันจับคู่เหล่านี้เป็นไฟล์กับupdateหมายเลขบัตรใด ๆ กับหมายเลขบัญชีดังนั้นฉันจึงทำงานกับหมายเลขบัญชีเท่านั้น ฉันสร้างมุมมองที่เชื่อมโยงตารางกับฐานข้อมูลบัญชี / บัตรเพื่อส่งกลับTable IDและหมายเลขบัญชีที่เกี่ยวข้องและตอนนี้ฉันต้องอัปเดตระเบียนเหล่านั้นที่ ID ตรงกับหมายเลขบัญชี นี่คือSales_Importตารางที่account numberจำเป็นต้องปรับปรุงฟิลด์: LeadID AccountNumber 147 5807811235 150 5807811326 185 7006100100007267039 และนี่คือRetrieveAccountNumberตารางที่ฉันต้องอัปเดตจาก: LeadID AccountNumber 147 7006100100007266957 150 7006100100007267039 ฉันลองด้านล่าง แต่โชคไม่ดี: UPDATE [Sales_Lead].[dbo].[Sales_Import] SET [AccountNumber] = (SELECT RetrieveAccountNumber.AccountNumber FROM RetrieveAccountNumber WHERE [Sales_Lead].[dbo].[Sales_Import]. LeadID = RetrieveAccountNumber.LeadID) มันอัปเดตหมายเลขบัตรเป็นหมายเลขบัญชี แต่หมายเลขบัญชีจะถูกแทนที่ด้วย NULL

18
เข้าร่วมกับแบบสอบถามย่อย
ฉันเป็นผู้ใช้ MySQL สมัยก่อนและต้องการคำสั่งJOINย่อยมากกว่าเสมอ แต่ทุกวันนี้ทุกคนใช้คิวรีย่อยและฉันเกลียดมัน ฉันไม่รู้ว่าทำไม ฉันขาดความรู้ทางทฤษฎีที่จะตัดสินด้วยตัวเองหากมีความแตกต่างใด ๆ แบบสอบถามย่อยดีเท่าJOINและดังนั้นจึงไม่มีอะไรต้องกังวลใช่หรือไม่
837 sql  mysql  subquery  join 

11
อัปเดตตารางโดยใช้ JOIN ใน SQL Server หรือไม่
ฉันต้องการอัปเดตคอลัมน์ในตารางที่ทำการเข้าร่วมในตารางอื่นเช่น: UPDATE table1 a INNER JOIN table2 b ON a.commonfield = b.[common field] SET a.CalculatedColumn= b.[Calculated Column] WHERE b.[common field]= a.commonfield AND a.BatchNO = '110' แต่มันก็บ่นว่า: ข่าวสารเกี่ยวกับ 170 ระดับ 15 สถานะ 1 บรรทัด 2 บรรทัด 2: ไวยากรณ์ไม่ถูกต้องใกล้กับ 'a' เกิดอะไรขึ้นที่นี่?


7
เชื่อมต่อรายการในรายการกับสตริง
มีวิธีที่ง่ายกว่าในการเชื่อมโยงรายการสตริงในรายการเป็นสตริงเดียวหรือไม่? ฉันสามารถใช้str.join()ฟังก์ชั่นนี้ได้หรือไม่ เช่นนี่คืออินพุต['this','is','a','sentence']และนี่คือเอาต์พุตที่ต้องการthis-is-a-sentence sentence = ['this','is','a','sentence'] sent_str = "" for i in sentence: sent_str += str(i) + "-" sent_str = sent_str[:-1] print sent_str


22
ซ้ายเข้าร่วมใน LINQ
วิธีดำเนินการรวมด้านนอกด้านซ้ายใน C # LINQ กับวัตถุโดยไม่ต้องใช้join-on-equals-intoคำสั่ง มีวิธีใดที่จะทำเช่นนั้นด้วยwhereประโยค? แก้ไขปัญหา: สำหรับการเข้าร่วมภายในเป็นเรื่องง่ายและฉันมีวิธีแก้ปัญหาเช่นนี้ List<JoinPair> innerFinal = (from l in lefts from r in rights where l.Key == r.Key select new JoinPair { LeftId = l.Id, RightId = r.Id}) แต่สำหรับด้านนอกเข้าร่วมฉันต้องการวิธีแก้ปัญหา ฉันเป็นแบบนี้ แต่มันไม่ทำงาน List< JoinPair> leftFinal = (from l in lefts from r in rights select new …
539 c#  linq  join 

19
ฉันจะทำการเชื่อมต่อ SQL เข้ากับ MongoDB ได้อย่างไร
ฉันจะทำการเชื่อมต่อ SQL เข้ากับ MongoDB ได้อย่างไร ตัวอย่างเช่นสมมติว่าคุณมีสองคอลเล็กชัน (ผู้ใช้และความคิดเห็น) และฉันต้องการดึงความคิดเห็นทั้งหมดด้วย pid = 444 พร้อมกับข้อมูลผู้ใช้สำหรับแต่ละรายการ comments { uid:12345, pid:444, comment="blah" } { uid:12345, pid:888, comment="asdf" } { uid:99999, pid:444, comment="qwer" } users { uid:12345, name:"john" } { uid:99999, name:"mia" } มีวิธีดึงความคิดเห็นทั้งหมดด้วยฟิลด์ที่แน่นอน (เช่น ... find ({pid: 444})) และข้อมูลผู้ใช้ที่เกี่ยวข้องกับความคิดเห็นแต่ละรายการในครั้งเดียวหรือไม่ ในขณะนี้ฉันได้รับความคิดเห็นแรกซึ่งตรงกับเกณฑ์ของฉันจากนั้นหา uid ทั้งหมดในชุดผลลัพธ์นั้นรับวัตถุผู้ใช้และรวมเข้ากับผลลัพธ์ของความคิดเห็น ดูเหมือนว่าฉันกำลังทำผิด
498 mongodb  join 

12
T-SQL: การเลือกแถวเพื่อลบผ่านการรวม
สถานการณ์: สมมติว่าฉันมีสองตาราง TableA และ TableB คีย์หลักของ TableB คือคอลัมน์เดียว (BId) และเป็นคอลัมน์คีย์ต่างประเทศใน TableA ในสถานการณ์ของฉันฉันต้องการลบแถวทั้งหมดใน TableA ที่เชื่อมโยงกับแถวที่ระบุใน TableB: ฉันสามารถทำสิ่งนั้นผ่านการรวมได้หรือไม่ ลบแถวทั้งหมดที่ดึงออกจากการรวมหรือไม่ DELETE FROM TableA FROM TableA a INNER JOIN TableB b ON b.BId = a.BId AND [my filter condition] หรือฉันถูกบังคับให้ทำเช่นนี้: DELETE FROM TableA WHERE BId IN (SELECT BId FROM TableB WHERE [my filter condition]) …
494 tsql  join 

5
วิธีการทำ 3 ตารางเข้าร่วมในการสืบค้น UPDATE?
ฉันถามคำถามและได้รับคำตอบที่ช่วยได้ UPDATE TABLE_A a JOIN TABLE_B b ON a.join_col = b.join_col AND a.column_a = b.column_b SET a.column_c = a.column_c + 1 ตอนนี้ฉันกำลังมองหาที่จะทำถ้ามี 3 ตารางที่เกี่ยวข้องกับสิ่งนี้ UPDATE tableC c JOIN tableB b JOIN tableA a คำถามของฉันเป็นพื้น ... เป็นไปได้ที่จะเข้าร่วม 3 ตารางในUPDATEงบ? และไวยากรณ์ที่ถูกต้องสำหรับมันคืออะไร? ขอบคุณ. ฉันจะทำ ... JOIN tableB, tableA JOIN tableB JOIN tableA
466 mysql  join 

9
เข้าร่วม / ที่ไหนด้วย LINQ และ Lambda
ฉันมีปัญหากับแบบสอบถามที่เขียนใน LINQ และ Lambda จนถึงตอนนี้ฉันได้รับข้อผิดพลาดมากมายที่นี่เป็นรหัสของฉัน: int id = 1; var query = database.Posts.Join(database.Post_Metas, post => database.Posts.Where(x => x.ID == id), meta => database.Post_Metas.Where(x => x.Post_ID == id), (post, meta) => new { Post = post, Meta = meta }); ฉันใหม่กับการใช้ LINQ ดังนั้นฉันไม่แน่ใจว่าแบบสอบถามนี้ถูกต้องหรือไม่
458 c#  linq  join  lambda 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.