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

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

5
การสั่งซื้อ SQL แบบหลายคอลัมน์
ฉันกำลังพยายามเรียงลำดับตามคอลัมน์ต่างๆใน SQL และไปในทิศทางที่ต่าง column1จะเรียงจากมากไปน้อยและcolumn2จากน้อยไปมาก ฉันจะทำสิ่งนี้ได้อย่างไร
635 sql  sql-order-by 

12
ควรใช้อัญประกาศคู่อัญประกาศคู่และ backticks ใน MySQL เมื่อใด
ฉันพยายามเรียนรู้วิธีที่ดีที่สุดในการเขียนข้อความค้นหา ฉันยังเข้าใจถึงความสำคัญของการสอดคล้อง จนถึงตอนนี้ฉันได้ใช้คำพูดเดี่ยวคำพูดสองครั้งและ backticks แบบสุ่มโดยไม่ต้องคิดอะไรจริง ตัวอย่าง: $query = 'INSERT INTO table (id, col1, col2) VALUES (NULL, val1, val2)'; นอกจากนี้ในตัวอย่างข้างต้นพิจารณาว่าtable, col1,val1และอื่น ๆ อาจจะเป็นตัวแปร มาตรฐานสำหรับสิ่งนี้คืออะไร? คุณทำอะไร? ฉันได้อ่านคำตอบของคำถามที่คล้ายกันที่นี่ประมาณ 20 นาทีแล้ว แต่ดูเหมือนว่าไม่มีคำตอบที่ชัดเจนสำหรับคำถามนี้
633 mysql  sql  quotes 

21
โซลูชั่นสำหรับ INSERT หรือ UPDATE บน SQL Server
MyTable(KEY, datafield1, datafield2...)สมมติโครงสร้างตาราง บ่อยครั้งที่ฉันต้องการอัปเดตระเบียนที่มีอยู่หรือแทรกระเบียนใหม่หากไม่มีอยู่ เป็นหลัก: IF (key exists) run update command ELSE run insert command วิธีที่ดีที่สุดในการเขียนสิ่งนี้คืออะไร?

30
ดึงข้อมูลแถวที่มีค่า Max สำหรับคอลัมน์
โต๊ะ: UserId, Value, Date. ฉันต้องการได้รับ UserId, ค่าสูงสุด (วันที่) สำหรับแต่ละ UserId นั่นคือค่าสำหรับ UserId แต่ละอันที่มีวันที่ล่าสุด มีวิธีการทำเช่นนี้เพียงแค่ใน SQL? (เฉพาะ Oracle) อัปเดต:ขอโทษสำหรับความกำกวมใด ๆ : ฉันต้องได้รับ UserIds ทั้งหมด แต่สำหรับแต่ละ UserId เฉพาะแถวนั้นที่ผู้ใช้นั้นมีวันล่าสุด



15
ฟิลด์ SQL SELECT WHERE มีคำ
ฉันต้องการตัวเลือกที่จะให้ผลลัพธ์เช่นนี้: SELECT * FROM MyTable WHERE Column1 CONTAINS 'word1 word2 word3' และฉันต้องการผลลัพธ์ทั้งหมดนั่นคือรวมถึงสตริงที่มี 'word2 word3 word1' หรือ 'word1 word3 word2' หรือการรวมกันของทั้งสาม คำทุกคำต้องเป็นผลลัพธ์
562 sql  select 

10
วิธีแทรกตัวแบ่งบรรทัดในสตริง SQL VARCHAR / NVARCHAR ของเซิร์ฟเวอร์ SQL
ฉันไม่เห็นคำถามที่คล้ายกันถามในหัวข้อนี้และฉันต้องค้นคว้าสิ่งนี้เพื่อสิ่งที่ฉันทำงานในขณะนี้ คิดว่าฉันจะโพสต์คำตอบสำหรับมันในกรณีที่คนอื่นมีคำถามเดียวกัน

9
ข้ามบางตารางด้วย mysqldump
มีวิธี จำกัด ตารางบางอย่างจากคำสั่ง mysqldump หรือไม่? ตัวอย่างเช่นฉันจะใช้ไวยากรณ์ต่อไปนี้เพื่อถ่ายโอนข้อมูลเฉพาะ table1 และ table2: mysqldump -u username -p database table1 table2 > database.sql แต่มีวิธีคล้ายกันในการดัมพ์ตารางทั้งหมดยกเว้น table1 และ table2 หรือไม่ ฉันไม่พบอะไรในเอกสาร mysqldump ดังนั้น brute-force (การระบุชื่อตารางทั้งหมด) เป็นวิธีเดียวที่จะไปได้หรือไม่
558 sql  mysql  database  mysqldump 

24
เป็นไปได้หรือไม่ที่จะแทรกหลายแถวในฐานข้อมูล SQLite?
ใน MySQL คุณสามารถแทรกหลายแถวดังนี้ INSERT INTO 'tablename' ('column1', 'column2') VALUES ('data1', 'data2'), ('data1', 'data2'), ('data1', 'data2'), ('data1', 'data2'); อย่างไรก็ตามฉันได้รับข้อผิดพลาดเมื่อพยายามทำสิ่งนี้ เป็นไปได้หรือไม่ที่จะแทรกหลายแถวในฐานข้อมูล SQLite? ไวยากรณ์ที่จะทำคืออะไร?
551 sql  sqlite  syntax 

17
ฉันจะเรียกคืนไฟล์ดัมพ์จาก mysqldump ได้อย่างไร
ฉันได้รับไฟล์ฐานข้อมูล MySQL ที่ฉันต้องการคืนค่าเป็นฐานข้อมูลในเครื่อง Windows Server 2008 ของฉัน ฉันพยายามใช้ผู้ดูแลระบบ MySQL แต่ฉันพบข้อผิดพลาดต่อไปนี้: ไฟล์ที่เลือกสร้างโดย mysqldump และไม่สามารถกู้คืนได้โดยแอปพลิเคชันนี้ ฉันจะทำงานนี้ได้อย่างไร
544 mysql  sql  database 

30
ฉันจะรับตัวสร้างแบบสอบถามเพื่อแสดงผลแบบสอบถาม SQL ดิบเป็นสตริงได้อย่างไร
รับรหัสต่อไปนี้: DB::table('users')->get(); ฉันต้องการรับสตริงแบบสอบถาม SQL ดิบที่ตัวสร้างแบบสอบถามฐานข้อมูลจะสร้างขึ้น SELECT * FROM usersในตัวอย่างนี้ก็จะเป็น ฉันจะทำสิ่งนี้ได้อย่างไร

11
ไม่ได้อยู่กับไม่อยู่
แบบสอบถามใดเร็วกว่ากัน ไม่มีอยู่: SELECT ProductID, ProductName FROM Northwind..Products p WHERE NOT EXISTS ( SELECT 1 FROM Northwind..[Order Details] od WHERE p.ProductId = od.ProductId) หรือไม่ได้อยู่ใน: SELECT ProductID, ProductName FROM Northwind..Products p WHERE p.ProductID NOT IN ( SELECT ProductID FROM Northwind..[Order Details]) แผนการดำเนินการแบบสอบถามบอกว่าพวกเขาทั้งสองทำสิ่งเดียวกัน หากเป็นเช่นนั้นแบบฟอร์มที่แนะนำคืออะไร สิ่งนี้ขึ้นอยู่กับฐานข้อมูล NorthWind [แก้ไข] เพิ่งพบบทความที่มีประโยชน์นี้: http://weblogs.sqlteam.com/mladenp/archive/2007/05/18/60210.aspx ฉันคิดว่าฉันจะติดกับไม่มีอยู่
538 sql  sql-server  notin 

18
SQLite - UPSERT * ไม่ใช่ * INSERT หรือ REPLACE
http://en.wikipedia.org/wiki/Upsert แทรกการปรับปรุงที่เก็บไว้ proc บน SQL Server มีวิธีที่ฉลาดในการทำเช่นนี้ใน SQLite ที่ฉันไม่ได้คิด? โดยทั่วไปฉันต้องการอัปเดตสามในสี่คอลัมน์หากบันทึกมีอยู่หากไม่มีอยู่ฉันต้องการแทรกระเบียนด้วยค่าเริ่มต้น (NUL) สำหรับคอลัมน์ที่สี่ ID เป็นคีย์หลักดังนั้นจะมีเพียงหนึ่งระเบียนที่ UPSERT เท่านั้น (ฉันพยายามหลีกเลี่ยงโอเวอร์เฮดของ SELECT เพื่อกำหนดว่าฉันต้องอัปเดตหรือแทรกอย่างชัดเจน) ข้อเสนอแนะ? ฉันไม่สามารถยืนยันได้ว่าไวยากรณ์บนไซต์ SQLite สำหรับ TABLE CREATE ฉันไม่ได้สร้างตัวอย่างเพื่อทดสอบ แต่ดูเหมือนจะไม่ได้รับการสนับสนุน .. ถ้าเป็นเช่นนั้นฉันมีสามคอลัมน์ดังนั้นมันจะมีลักษณะดังนี้: CREATE TABLE table1( id INTEGER PRIMARY KEY ON CONFLICT REPLACE, Blob1 BLOB ON CONFLICT REPLACE, Blob2 BLOB ON CONFLICT REPLACE, Blob3 …
535 sql  sqlite  upsert 

20
รับ 1 แถวแรกของแต่ละกลุ่ม
ฉันมีตารางที่ฉันต้องการรับรายการล่าสุดสำหรับแต่ละกลุ่ม นี่คือตาราง: DocumentStatusLogs โต๊ะ |ID| DocumentID | Status | DateCreated | | 2| 1 | S1 | 7/29/2011 | | 3| 1 | S2 | 7/30/2011 | | 6| 1 | S1 | 8/02/2011 | | 1| 2 | S1 | 7/28/2011 | | 4| 2 | S2 | 7/30/2011 …

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