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

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

17
วิธีอ่านแถวสุดท้ายด้วย SQL Server
วิธีใดที่มีประสิทธิภาพที่สุดในการอ่านแถวสุดท้ายด้วย SQL Server ตารางจะจัดทำดัชนีด้วยคีย์ที่ไม่ซ้ำกัน - ค่าคีย์ "ด้านล่าง" แสดงถึงแถวสุดท้าย
89 sql  sql-server 

7
คำสั่ง SQL EXISTS ทำงานอย่างไร
ฉันพยายามเรียนรู้ SQL และมีปัญหาในการทำความเข้าใจคำสั่ง EXISTS ฉันเจอคำพูดนี้เกี่ยวกับ "มีอยู่จริง" และไม่เข้าใจบางอย่าง: การใช้โอเปอเรเตอร์ที่มีอยู่แบบสอบถามย่อยของคุณสามารถส่งคืนค่าศูนย์หนึ่งแถวหรือหลายแถวและเงื่อนไขจะตรวจสอบว่าแบบสอบถามย่อยส่งคืนแถวใด ๆ หรือไม่ หากคุณดูที่ส่วนคำสั่ง select ของเคียวรีย่อยคุณจะเห็นว่าประกอบด้วยลิเทอรัลเดียว (1); เนื่องจากเงื่อนไขในแบบสอบถามที่มีเพียงต้องการทราบว่ามีการส่งคืนแถวจำนวนเท่าใดข้อมูลจริงที่แบบสอบถามย่อยที่ส่งกลับจึงไม่เกี่ยวข้อง สิ่งที่ฉันไม่เข้าใจคือแบบสอบถามภายนอกรู้ได้อย่างไรว่าแบบสอบถามย่อยกำลังตรวจสอบแถวใด ตัวอย่างเช่น: SELECT * FROM suppliers WHERE EXISTS (select * from orders where suppliers.supplier_id = orders.supplier_id); ฉันเข้าใจว่าหากรหัสจากซัพพลายเออร์และตารางคำสั่งซื้อตรงกันคำค้นหาย่อยจะส่งคืนจริงและคอลัมน์ทั้งหมดจากแถวที่ตรงกันในตารางของซัพพลายเออร์จะถูกส่งออก สิ่งที่ฉันไม่ได้รับคือวิธีที่แบบสอบถามย่อยสื่อสารว่าควรพิมพ์แถวใด (เช่นแถวที่มีรหัสซัพพลายเออร์ 25) หากส่งคืนเฉพาะจริงหรือเท็จ สำหรับฉันแล้วดูเหมือนว่าไม่มีความสัมพันธ์ระหว่างแบบสอบถามภายนอกและแบบสอบถามย่อย
89 sql 


3
คุณจะให้ผู้ใช้ที่ใช้งานอยู่เชื่อมต่อกับฐานข้อมูล postgreSQL ผ่าน SQL ได้อย่างไร
คุณจะให้ผู้ใช้ที่ใช้งานอยู่เชื่อมต่อกับฐานข้อมูล postgreSQL ผ่าน SQL ได้อย่างไร อาจเป็นรหัสผู้ใช้หรือจำนวนผู้ใช้

4
ใช้คำสั่ง LIKE บน SQL Server XML Datatype
หากคุณมีฟิลด์ varchar คุณสามารถทำได้อย่างง่ายดายSELECT * FROM TABLE WHERE ColumnA LIKE '%Test%'เพื่อดูว่าคอลัมน์นั้นมีสตริงที่แน่นอนหรือไม่ คุณทำสิ่งนั้นสำหรับประเภท XML ได้อย่างไร? ฉันมีสิ่งต่อไปนี้ซึ่งส่งคืนเฉพาะแถวที่มีโหนด 'ข้อความ' แต่ฉันต้องการค้นหาภายในโหนดนั้น select * from WebPageContent where data.exist('/PageContent/Text') = 1

15
ข้อยกเว้น EF 4.1“ ผู้ให้บริการไม่ส่งคืนสตริง ProviderManifestToken”
ฉันพยายามทำซ้ำตัวอย่างที่พบใน MSDN ฉันใช้ ASP.NET และ EF 4.1 (CTP?) ฉันใช้ NuGet เพื่อติดตั้งแพ็คเกจ EntityFramework ฉันได้รับข้อผิดพลาดนี้: The provider did not return a ProviderManifestToken string... และไม่มีการสร้างฐานข้อมูล นี่คือสตริงการเชื่อมต่อของฉัน: <add name="HospitalContext" connectionString= "data source=.\SQLExpress;initial catalog=NewTestDB;integrated security=True;" providerName="System.Data.SqlClient"/> นี่คือรหัสของฉัน: var pat = new Patient { Name = "Shane123132524356436435234" }; db.Patients.Add(pat); var labResult = new LabResult { Result …
88 asp.net  sql  entity 

12
ฟังก์ชั่นเทียบกับขั้นตอนที่เก็บไว้
สมมติว่าฉันต้องใช้โค้ด T-SQL ที่ต้องส่งคืนตารางเป็นผลลัพธ์ ฉันสามารถใช้ฟังก์ชันค่าตารางหรืออื่น ๆ กระบวนงานที่เก็บไว้ที่ส่งคืนชุดของแถว ฉันควรใช้อะไร? ในระยะสั้นสิ่งที่ฉันอยากรู้คือ: ข้อแตกต่างหลักระหว่างฟังก์ชันและกระบวนงานที่จัดเก็บคืออะไร ฉันต้องคำนึงถึงอะไรบ้างในการใช้อย่างใดอย่างหนึ่ง

11
คุณตีความแผนการอธิบายของแบบสอบถามอย่างไร
เมื่อพยายามทำความเข้าใจว่าคำสั่ง SQL ทำงานอย่างไรบางครั้งขอแนะนำให้ดูที่แผนอธิบาย กระบวนการใดที่ควรดำเนินการในการตีความ (เหมาะสม) ของแผนอธิบาย สิ่งที่ควรจะโดดเด่นคือ "โอ้มันทำงานได้ดีขนาดนี้เลยเหรอ" กับ "โอ้ไม่ไม่ถูกต้อง"

9
MySQL รับตำแหน่งแถวใน ORDER BY
ด้วยตาราง MySQL ต่อไปนี้: +-----------------------------+ + id INT UNSIGNED + + name VARCHAR(100) + +-----------------------------+ ฉันจะเลือกเดียวแถวและตำแหน่งในหมู่แถวอื่น ๆ name ASCในตารางเมื่อเรียงตาม ดังนั้นหากข้อมูลตารางมีลักษณะเช่นนี้เมื่อจัดเรียงตามชื่อ: +-----------------------------+ + id | name + +-----------------------------+ + 5 | Alpha + + 7 | Beta + + 3 | Delta + + ..... + + 1 | Zed + +-----------------------------+ …

2
เลือกใน mysql
ฉันเป็นผู้ใช้ MSSQL และตอนนี้ฉันกำลังแปลงฐานข้อมูลเป็น MySQL ฉันกำลังเขียนข้อความค้นหาต่อไปนี้ใน MySQL: select * into new_tbl from tbl และฉันได้รับข้อผิดพลาดต่อไปนี้ Error : Undeclared variable new_tbl คำถามดังกล่าวควรเขียนใน MySQL อย่างถูกต้องอย่างไร
88 mysql  sql  sql-server 

7
ฉันจะเลือกแถวที่มีการประทับเวลาล่าสุดสำหรับค่าคีย์แต่ละค่าได้อย่างไร
ฉันมีตารางข้อมูลเซ็นเซอร์ แต่ละแถวจะมีรหัสเซ็นเซอร์การประทับเวลาและช่องอื่น ๆ ฉันต้องการเลือกแถวเดียวที่มีการประทับเวลาล่าสุดสำหรับแต่ละเซ็นเซอร์รวมถึงฟิลด์อื่น ๆ ด้วย ฉันคิดว่าวิธีแก้ปัญหาคือการจัดกลุ่มตามรหัสเซ็นเซอร์แล้วเรียงลำดับตาม max (การประทับเวลา) ดังนี้: SELECT sensorID,timestamp,sensorField1,sensorField2 FROM sensorTable GROUP BY sensorID ORDER BY max(timestamp); สิ่งนี้ทำให้ฉันมีข้อผิดพลาดที่บอกว่า "sensorField1 ต้องปรากฏในกลุ่มตามอนุประโยคหรือใช้ในการรวม" วิธีที่ถูกต้องในการแก้ไขปัญหานี้คืออะไร?

5
นิยามคอลัมน์ SQL: ค่าเริ่มต้นและไม่ซ้ำซ้อน null?
ฉันเคยเห็นไวยากรณ์ต่อไปนี้หลายครั้งซึ่งกำหนดคอลัมน์ในคำสั่งสร้าง / แก้ไข DDL: ALTER TABLE tbl ADD COLUMN col VARCHAR(20) NOT NULL DEFAULT "MyDefault" คำถามคือเนื่องจากมีการระบุค่าดีฟอลต์จึงจำเป็นต้องระบุด้วยว่าคอลัมน์ไม่ควรยอมรับ NULL หรือไม่ กล่าวอีกนัยหนึ่งค่า DEFAULT ไม่ทำให้ซ้ำซ้อน NOT NULL?

2
จัดเก็บผลลัพธ์ของแบบสอบถามที่เลือกไว้ในอาร์เรย์เดียวใน postgres
รหัสของฉันคือ: SELECT column_name FROM information.SCHEMA.columns WHERE table_name = 'aean' aeanก็จะส่งกลับชื่อคอลัมน์ของตาราง ตอนนี้ฉันได้ประกาศอาร์เรย์แล้ว: DECLARE colnames text[] ฉันจะจัดเก็บเอาต์พุตของ Select ในอาร์เรย์ colnames ได้อย่างไร จำเป็นต้องเริ่มต้นชื่อ colnames หรือไม่?

10
จะตรวจสอบค่า null / ว่าง / ช่องว่างด้วยการทดสอบเดี่ยวได้อย่างไร?
ฉันต้องการเขียนคำสั่ง SELECT ที่ใช้การทดสอบเพียงครั้งเดียวเพื่อส่งคืนคอลัมน์ที่ไม่มีค่า (ว่างเปล่าหรือช่องว่างทั้งหมด) ฉันคิดว่าสิ่งนี้จะได้ผล: SELECT column_name from table_name WHERE column_name NOT LIKE '%_%'; แต่ใช้ไม่ได้กับค่า NULL แน่นอนฉันสามารถเพิ่ม OR column_name IS NULL และมันจะได้ผล แต่ฉันต้องการวิธีที่ใช้การทดสอบเดียว
88 sql  oracle  oracle10g 

14
มุมมองที่ดีสำหรับอะไร?
ฉันแค่พยายามทำความเข้าใจทั่วไปว่ามุมมองใดที่ใช้สำหรับ RDBMSes กล่าวคือฉันรู้ว่ามุมมองคืออะไรและจะสร้างได้อย่างไร ฉันยังรู้ว่าที่ผ่านมาฉันใช้มันเพื่ออะไร แต่ฉันต้องการให้แน่ใจว่าฉันมีความเข้าใจอย่างถ่องแท้ว่ามุมมองใดมีประโยชน์และมุมมองใดที่ไม่ควรมีประโยชน์ โดยเฉพาะอย่างยิ่ง: มุมมองมีประโยชน์สำหรับอะไร? มีสถานการณ์ใดบ้างที่ดึงดูดให้ใช้มุมมองเมื่อคุณไม่ควรใช้มุมมอง? เหตุใดคุณจึงใช้มุมมองแทนสิ่งต่างๆเช่นฟังก์ชันมูลค่าตารางหรือในทางกลับกัน มีสถานการณ์ใดบ้างที่มุมมองอาจมีประโยชน์ซึ่งไม่ปรากฏให้เห็นในตอนแรกหรือไม่? (และสำหรับบันทึกคำถามเหล่านี้บางส่วนมีเจตนาไร้เดียงสานี่เป็นส่วนหนึ่งของการตรวจสอบแนวคิด)

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