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

Structured Query Language (SQL) เป็นภาษาสำหรับการสืบค้นฐานข้อมูล คำถามควรมีตัวอย่างรหัสโครงสร้างตารางข้อมูลตัวอย่างและแท็กสำหรับการใช้งาน DBMS (เช่น MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 และอื่น ๆ ) หากคำถามของคุณเกี่ยวข้องกับ DBMS เฉพาะ (ใช้ส่วนขยาย / คุณลักษณะเฉพาะ) ให้ใช้แท็กของ DBMS นั้นแทน คำตอบของคำถามที่ติดแท็กด้วย SQL ควรใช้ SQL มาตรฐาน ISO / IEC

27
ดึงข้อมูลระเบียนสุดท้ายในแต่ละกลุ่ม - MySQL
มีตารางmessagesที่มีข้อมูลดังแสดงด้านล่าง: Id Name Other_Columns ------------------------- 1 A A_data_1 2 A A_data_2 3 A A_data_3 4 B B_data_1 5 B B_data_2 6 C C_data_1 ถ้าฉันเรียกใช้คิวselect * from messages group by nameรีฉันจะได้ผลลัพธ์ดังนี้: 1 A A_data_1 4 B B_data_1 6 C C_data_1 แบบสอบถามใดจะส่งคืนผลลัพธ์ต่อไปนี้ 3 A A_data_3 5 B B_data_2 6 C C_data_1 นั่นคือบันทึกสุดท้ายในแต่ละกลุ่มควรส่งคืน …

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

13
ฉันควรใช้การสมัครไขว้กับการเข้าร่วมวงใน
วัตถุประสงค์หลักในการใช้CROSS APPLYคืออะไร ฉันได้อ่าน (ผ่านทางโพสต์บนอินเทอร์เน็ต) ที่cross applyมีประสิทธิภาพมากขึ้นเมื่อเลือกผ่านชุดข้อมูลขนาดใหญ่หากคุณแบ่งพาร์ติชัน (เพจมาถึงใจ) ฉันก็รู้ว่าCROSS APPLYไม่จำเป็นต้องมี UDF เป็นตารางขวา ในINNER JOINข้อความค้นหาส่วนใหญ่(ความสัมพันธ์แบบหนึ่งต่อหลายคน) ฉันสามารถเขียนใหม่เพื่อใช้งานCROSS APPLYได้ แต่จะให้แผนการดำเนินการเทียบเท่าเสมอ ทุกคนสามารถให้ฉันเป็นตัวอย่างที่ดีของเมื่อCROSS APPLYสร้างความแตกต่างในกรณีที่INNER JOINจะทำงานได้ดี? แก้ไข: นี่เป็นตัวอย่างเล็กน้อยที่แผนการดำเนินการเหมือนกันทุกประการ (แสดงให้ฉันดูว่าพวกเขาแตกต่างกันที่ไหนและcross applyเร็วกว่า / มีประสิทธิภาพมากขึ้น) create table Company ( companyId int identity(1,1) , companyName varchar(100) , zipcode varchar(10) , constraint PK_Company primary key (companyId) ) GO create table Person ( …

18
บันทึกเอาต์พุต PL / pgSQL จาก PostgreSQL เป็นไฟล์ CSV
วิธีที่ง่ายที่สุดในการบันทึกเอาต์พุต PL / pgSQL จากฐานข้อมูล PostgreSQL เป็นไฟล์ CSV คืออะไร? ฉันใช้ PostgreSQL 8.4 กับ pgAdmin III และปลั๊กอิน PSQL ที่ฉันเรียกใช้แบบสอบถาม

11
แทรกลงในตาราง MySQL หรืออัปเดตถ้ามี
ฉันต้องการเพิ่มแถวในตารางฐานข้อมูล แต่หากมีแถวที่มีคีย์เฉพาะเหมือนกันฉันต้องการอัปเดตแถว ตัวอย่างเช่น: insert into table (id, name, age) values(1, "A", 19) สมมติว่าคีย์ที่ไม่ซ้ำกันidและในของฉันฐานข้อมูลid = 1มีแถวที่มี ในกรณีนั้นฉันต้องการอัปเดตแถวนั้นด้วยค่าเหล่านี้ โดยปกติจะทำให้เกิดข้อผิดพลาด ถ้าฉันใช้insert IGNOREมันจะไม่สนใจข้อผิดพลาด แต่ก็ยังไม่อัปเดต

10
วิธีการ 'แทรกถ้าไม่มี' ใน MySQL?
ฉันเริ่มโดย googling และพบบทความนี้ที่พูดถึงตาราง mutex ฉันมีตารางที่มีประมาณ 14 ล้านเร็กคอร์ด หากฉันต้องการเพิ่มข้อมูลเพิ่มเติมในรูปแบบเดียวกันมีวิธีที่จะทำให้แน่ใจว่าระเบียนที่ฉันต้องการแทรกไม่มีอยู่แล้วโดยไม่ใช้คู่ของแบบสอบถาม (เช่นแบบสอบถามหนึ่งแบบสอบถามเพื่อตรวจสอบและหนึ่งแทรกเป็นชุดผลลัพธ์คือ ว่างเปล่า)? ที่ไม่uniqueจำกัด ในการรับประกันข้อมูลที่insertจะล้มเหลวถ้ามันมีอยู่แล้ว? ดูเหมือนว่ามีเพียงข้อ จำกัด เมื่อฉันออกแทรกผ่าน php สคริปต์ croaks

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

19
ฟังก์ชันกับกระบวนงานที่เก็บไว้ใน SQL Server
ฉันได้เรียนรู้ฟังก์ชั่นและขั้นตอนการจัดเก็บมาระยะหนึ่งแล้ว แต่ฉันไม่ทราบสาเหตุและเวลาที่ฉันควรใช้ฟังก์ชั่นหรือขั้นตอนการจัดเก็บ พวกเขาดูเหมือนฉันอาจเป็นเพราะฉันเป็นมือใหม่เกี่ยวกับเรื่องนั้น บางคนบอกฉันได้ไหมว่าเพราะอะไร

22
ค้นหาข้อความในกระบวนงานที่เก็บไว้ใน SQL Server
ฉันต้องการค้นหาข้อความจากขั้นตอนการจัดเก็บฐานข้อมูลทั้งหมดของฉัน ฉันใช้ SQL ด้านล่าง: SELECT DISTINCT o.name AS Object_Name, o.type_desc FROM sys.sql_modules m INNER JOIN sys.objects o ON m.object_id = o.object_id WHERE m.definition Like '%[ABD]%'; ฉันต้องการค้นหา[ABD]ในกระบวนงานที่เก็บไว้ทั้งหมดรวมถึงวงเล็บเหลี่ยม แต่ไม่ได้ให้ผลลัพธ์ที่เหมาะสม ฉันจะเปลี่ยนคำถามเพื่อให้บรรลุสิ่งนี้ได้อย่างไร

14
ฉันควรใช้! = หรือ <> เพื่อไม่เท่ากันใน T-SQL หรือไม่
ฉันได้เห็นSQLว่าการใช้งานทั้งใน!=และ&lt;&gt;สำหรับไม่เท่ากัน ไวยากรณ์ที่ต้องการคืออะไรและเพราะเหตุใด ผมชอบ!=เพราะทำให้ผมนึกถึง&lt;&gt;Visual Basic
800 sql  sql-server  tsql 

11
วิธีเข้าร่วมแถวแรก
ฉันจะใช้รูปธรรม แต่เป็นตัวอย่างสมมุติ โดยปกติแล้วคำสั่งซื้อแต่ละรายการจะมีเพียงหนึ่งรายการ : คำสั่งซื้อ: OrderGUID OrderNumber ========= ============ {FFB2...} STL-7442-1 {3EC6...} MPT-9931-8A รายการโฆษณา: LineItemGUID Order ID Quantity Description ============ ======== ======== ================================= {098FBE3...} 1 7 prefabulated amulite {1609B09...} 2 32 spurving bearing แต่บางครั้งจะมีคำสั่งซื้อที่มีรายการโฆษณาสองรายการ: LineItemID Order ID Quantity Description ========== ======== ======== ================================= {A58A1...} 6,784,329 5 pentametric fan {0E9BC...} 6,784,329 …

18
ฉันจะเลือกแถวที่มี MAX (ค่าคอลัมน์) DISTINCT ตามคอลัมน์อื่นใน SQL ได้อย่างไร
ตารางของฉันคือ: id home datetime player resource ---|-----|------------|--------|--------- 1 | 10 | 04/03/2009 | john | 399 2 | 11 | 04/03/2009 | juliet | 244 5 | 12 | 04/03/2009 | borat | 555 3 | 10 | 03/03/2009 | john | 300 4 | 11 | 03/03/2009 | juliet …

14
DateTime2 เทียบกับ DateTime ใน SQL Server
อันไหน: datetime datetime2 เป็นวิธีที่แนะนำไปยังวันที่และเวลาการจัดเก็บใน SQL Server 2008+? ฉันทราบถึงความแตกต่างของความแม่นยำ (และพื้นที่เก็บข้อมูลอาจ) แต่เมื่อไม่สนใจสิ่งเหล่านี้ตอนนี้มีเอกสารการปฏิบัติที่ดีที่สุดเรื่องเวลาที่จะใช้อะไรหรือบางทีเราควรจะใช้datetime2แค่นี้เท่านั้น?

13
Count (*) vs Count (1) - เซิร์ฟเวอร์ SQL
เพียงแค่สงสัยว่าถ้าใด ๆ ของคุณที่คนใช้Count(1)มากกว่าCount(*)และหากมีความแตกต่างที่เห็นได้ชัดในการปฏิบัติงานหรือถ้านี้เป็นเพียงนิสัยเดิมที่ได้รับการยกมาจากวันที่ผ่านมาหายไป? SQL Server 2005ฐานข้อมูลเฉพาะคือ

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