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

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

9
จุดประสงค์ของ SQL keyword“ AS” คืออะไร?
คุณสามารถตั้งนามแฝงตารางใน SQL โดยพิมพ์ตัวระบุหลังชื่อตาราง SELECT * FROM table t1; คุณยังสามารถใช้คำหลักASเพื่อระบุนามแฝง SELECT * FROM table AS t1; อะไรคือความแตกต่างระหว่างพวกเขาถ้ามี? ฉันเห็นคน DBA รุ่นเก่ามักจะเขียนข้อความโดยไม่มีASแต่บทช่วยสอนใหม่ ๆ ส่วนใหญ่ใช้มัน อัปเดต:ฉันรู้ว่าจุดประสงค์ของชื่อแทนตารางและคอลัมน์คืออะไร ฉันสงสัยว่าอะไรคือเหตุผลของการมีคีย์เวิร์ดแยกต่างหากสำหรับการตั้งนามแฝงในขณะที่มันใช้งานได้โดยไม่มีมันด้วย
138 sql 

18
'ตัวระบุหลายส่วน' คืออะไรและเหตุใดจึงไม่สามารถผูกมัดได้
ฉันได้รับข้อผิดพลาดเหล่านี้อย่างต่อเนื่องเมื่อพยายามอัปเดตตารางตามตารางอื่น ฉันเขียนข้อความค้นหาใหม่เปลี่ยนลำดับของการรวมเปลี่ยนการจัดกลุ่มและในที่สุดก็ใช้งานได้ แต่ฉันไม่ค่อยเข้าใจ 'ตัวระบุหลายส่วน' คืออะไร? เมื่อใดที่ 'ตัวระบุหลายส่วน' ไม่สามารถผูกมัดได้? มันผูกพันกับอะไรอยู่แล้ว? ข้อผิดพลาดนี้จะเกิดขึ้นในกรณีใดบ้าง? วิธีที่ดีที่สุดในการป้องกันคืออะไร? ข้อผิดพลาดเฉพาะจาก SQL Server 2005 คือ: ไม่สามารถผูกตัวระบุหลายส่วน "... " ได้ นี่คือตัวอย่าง: UPDATE [test].[dbo].[CompanyDetail] SET Mnemonic = [dbBWKMigration].[dbo].[Company].[MNEMONIC], [Company Code] = [dbBWKMigration].[dbo].[Company].[COMPANYCODE] WHERE [Company Name] = **[dbBWKMigration].[dbo].[Company].[COMPANYNAME]** ข้อผิดพลาดจริง: ข่าวสารเกี่ยวกับ 4104 ระดับ 16 สถานะ 1 บรรทัดที่ 3 ตัวระบุหลายส่วน "dbBWKMigration.dbo.Company.COMPANYNAME" ไม่สามารถผูกมัดได้
138 sql  sql-server 

9
การเปรียบเทียบสตริงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ใน LINQ-to-SQL
ฉันอ่านแล้วว่ามันไม่ฉลาดที่จะใช้ ToUpper และ ToLower เพื่อทำการเปรียบเทียบสตริงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ แต่ฉันไม่เห็นทางเลือกอื่นเมื่อพูดถึง LINQ-to-SQL อาร์กิวเมนต์ IgnaseCase และ CompareOptions ของ String.Compare จะถูกละเว้นโดย LINQ-to-SQL (ถ้าคุณใช้ฐานข้อมูลที่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่คุณจะได้รับการเปรียบเทียบแบบตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ToLower หรือ ToUpper เป็นตัวเลือกที่ดีที่สุดหรือไม่ ดีกว่าอีกไหม? ฉันคิดว่าฉันอ่านที่ไหนสักแห่งว่า ToUpper ดีกว่า แต่ฉันไม่รู้ว่ามันใช้กับที่นี่หรือไม่ (ฉันกำลังตรวจสอบโค้ดจำนวนมากและทุกคนใช้ ToLower) Dim s = From row In context.Table Where String.Compare(row.Name, "test", StringComparison.InvariantCultureIgnoreCase) = 0 สิ่งนี้แปลเป็นเคียวรี SQL ที่เปรียบเทียบ row.Name กับ "test" และจะไม่ส่งคืน "Test" และ "TEST" …
137 .net  sql  vb.net  linq  linq-to-sql 

5
ใช้ tnsnames.ora ใน Oracle SQL Developer
ฉันกำลังประเมินOracle SQL Developer ฉันtnsnames.oraมีประชากรและ a tnspingถึงการเชื่อมต่อที่กำหนดในการtnsnames.oraทำงานได้ดี ถึงกระนั้น SQL Developer ไม่แสดงการเชื่อมต่อใด ๆ Oracle SQL Developer Soarsกล่าวถึงว่าถ้า คุณมีซอฟต์แวร์ไคลเอนต์ Oracle และไฟล์ tnsnames.ora ติดตั้งไว้แล้วในเครื่องของคุณ Oracle SQL Developer จะเติมข้อมูลเนวิเกเตอร์ Connections โดยอัตโนมัติจากชื่อบริการสุทธิที่กำหนดไว้ใน tnsnames.ora ฉันพยายามตั้งค่าTNS_ADMINตัวแปรสภาพแวดล้อมของฉันด้วย แต่หลังจากรีสตาร์ท SQL Developer ยังคงไม่มีการเชื่อมต่อปรากฏขึ้น ความคิดใด ๆ ทุกคนประสบความสำเร็จในการทำงานกับ SQL Developer และ tnsnames.ora หรือไม่



7
แบบสอบถาม Sql เพื่อแทรกวันที่และเวลาใน SQL Server
ฉันต้องการแทรกdatetimeค่าลงในตาราง (SQL Server) โดยใช้แบบสอบถาม sql ด้านล่าง insert into table1(approvaldate)values(18-06-12 10:34:09 AM); แต่ฉันได้รับข้อความแสดงข้อผิดพลาดนี้ Incorrect syntax near '10'. ฉันลองใช้กับคำพูด insert into table1(approvaldate)values('18-06-12 10:34:09 AM'); ฉันได้รับข้อความแสดงข้อผิดพลาดนี้ Cannot convert varchar to datetime กรุณาช่วย! ขอบคุณ.

4
การต่อข้อมูลสตริงไม่ทำงานใน SQLite
ฉันพยายามเรียกใช้ฟังก์ชันแทนที่ SQlite แต่ใช้ฟิลด์อื่นในฟังก์ชัน select locationname + '<p>' from location; ใน snip นี้ผลลัพธ์คือรายการของ 0s ฉันคาดว่าจะมีสตริงพร้อมข้อความจาก locationname และ'<p>'ตัวอักษร

20
อะไรคือเหตุผลที่จะไม่ใช้ select *
ฉันเคยเห็นผู้คนจำนวนมากอ้างว่าคุณควรตั้งชื่อแต่ละคอลัมน์ที่คุณต้องการในข้อความค้นหาที่เลือก สมมติว่าฉันจะใช้คอลัมน์ทั้งหมดทำไมฉันจะไม่ใช้SELECT *? แม้จะพิจารณาคำถาม * แบบสอบถาม SQL - เลือก * จากมุมมองหรือเลือก col1, col2, … colN จากมุมมอง * ฉันไม่คิดว่านี่เป็นคำซ้ำซ้อนเนื่องจากฉันกำลังเข้าใกล้ปัญหาจากมุมมองที่แตกต่างกันเล็กน้อย หนึ่งในหลักการของเราคือการไม่ปรับให้เหมาะสมก่อนถึงเวลา โดยที่ในใจดูเหมือนว่าการใช้SELECT *ควรเป็นวิธีการที่ต้องการจนกว่าจะได้รับการพิสูจน์แล้วว่าเป็นปัญหาทรัพยากรหรือสคีมาที่ตั้งอยู่ในหินสวยมาก ซึ่งอย่างที่เรารู้จะไม่เกิดขึ้นจนกว่าการพัฒนาจะเสร็จสมบูรณ์ ที่กล่าวว่ามีปัญหาสำคัญที่จะไม่ใช้SELECT *หรือไม่
136 sql 

12
วิธีการส่งหลายเขตข้อมูลผ่าน Ajax [ปิด]
ปิด. คำถามนี้เป็นคำถามที่ไม่สามารถทำซ้ำหรือเกิดจากความผิดพลาด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันติดอยู่: ฉันกำลังพยายามส่งแบบฟอร์มโดยใช้ AJAX แต่ฉันไม่สามารถหาวิธีการส่งหลายเขตข้อมูลผ่านการโทร AJAX ของฉัน $(document).ready(function() { $("#btnSubmit").click(function() { var status = $("#activitymessage").val(); var name = "Ronny"; $.ajax({ type: "POST", url: "ajax/activity_save.php", **data: "status="+status+"name="+name"**, success: function(msg) {... ฉันได้ลองทุกสิ่ง: data: {status: status, name: name}, หรือสิ่งต่าง ๆ เช่นนี้เพื่อการทดสอบ: data: "status=testing&name=ronny", แต่สิ่งที่ฉันพยายามฉันไม่ได้อะไรactivity_save.phpเลยใน …
136 jquery  sql  ajax 

2
SQL เข้าร่วมในหลายคอลัมน์ในตารางเดียวกัน
ฉันมี 2 แบบสอบถามย่อย แต่ฉันมีปัญหาในการเข้าร่วมคอลัมน์ด้วยกันจากตารางเดียวกัน ฉันเหนื่อย: SELECT * FROM (SELECT userid, listid FROM user_views_table WHERE date='2013-05-15' AND view_type='lists') a JOIN (SELECT sourceid, destinationid FROM actions_table WHERE date='2013-05-15' AND payloadtype='lists_user' AND actiontype='delete') b ON a.userid = b.sourceid ON a.listid = b.destinationid; ถ้าฉันเพียงแค่จบแบบสอบถามกับON a.userid = b.sourceidการทำงาน แต่ฉันจะยังเข้าร่วมตารางเหล่านี้ในคอลัมน์อื่นยังON a.listid = b.destinationid?? ความช่วยเหลือใด ๆ ชื่นชม
136 sql  join 

10
ฐานข้อมูลค่าแอตทริบิวต์เอนทิตีเทียบกับอีคอมเมิร์ซแบบจำลองเชิงสัมพันธ์ที่เข้มงวด
มีความปลอดภัยที่จะกล่าวว่าโมเดลฐานข้อมูลEAV / CRนั้นไม่ดี ที่กล่าวว่า คำถาม: ควรใช้โมเดลฐานข้อมูลเทคนิคหรือรูปแบบใดในการจัดการกับ "คลาส" ของแอตทริบิวต์ที่อธิบายผลิตภัณฑ์อีคอมเมิร์ซซึ่งสามารถเปลี่ยนแปลงได้ในขณะดำเนินการ ในฐานข้อมูลอีคอมเมิร์ซที่ดีคุณจะจัดเก็บคลาสของตัวเลือกต่างๆ (เช่นความละเอียดของทีวีจะมีความละเอียดสำหรับทีวีแต่ละเครื่อง แต่ผลิตภัณฑ์ถัดไปอาจไม่ใช่ทีวีและไม่มี "ความละเอียดของทีวี") คุณจัดเก็บค้นหาอย่างมีประสิทธิภาพและอนุญาตให้ผู้ใช้ของคุณตั้งค่าประเภทผลิตภัณฑ์ด้วยช่องตัวแปรที่อธิบายผลิตภัณฑ์ของตนได้อย่างไร หากเครื่องมือค้นหาพบว่าลูกค้ามักค้นหาทีวีตามความลึกของคอนโซลคุณสามารถเพิ่มความลึกของคอนโซลลงในช่องของคุณจากนั้นเพิ่มความลึกเดียวสำหรับผลิตภัณฑ์ทีวีแต่ละประเภทในขณะทำงาน มีคุณลักษณะทั่วไปที่ดีในแอปอีคอมเมิร์ซที่แสดงชุดผลิตภัณฑ์จากนั้นมีเมนูด้านข้าง "เจาะลึก" ซึ่งคุณจะเห็น "ความละเอียดของทีวี" เป็นส่วนหัวและความละเอียดทีวีที่พบมากที่สุด 5 อันดับแรกสำหรับ พบชุด คุณคลิกรายการใดรายการหนึ่งและจะแสดงเฉพาะทีวีที่มีความละเอียดดังกล่าวช่วยให้คุณสามารถดูรายละเอียดเพิ่มเติมโดยเลือกหมวดหมู่อื่น ๆ ในเมนูด้านข้าง ตัวเลือกเหล่านี้จะเป็นแอตทริบิวต์ผลิตภัณฑ์แบบไดนามิกที่เพิ่มในขณะทำงาน การอภิปรายเพิ่มเติม: เรื่องสั้นสั้น ๆมีลิงก์ในอินเทอร์เน็ตหรือคำอธิบายแบบจำลองที่สามารถ "แก้ไข" ในเชิงวิชาการ "ในการตั้งค่าต่อไปนี้ได้หรือไม่ ฉันขอขอบคุณ Noel Kennedy ที่แนะนำตารางหมวดหมู่ แต่ความต้องการอาจมากกว่านั้น ฉันอธิบายวิธีอื่นด้านล่างโดยพยายามเน้นความสำคัญ ฉันอาจต้องการการแก้ไขมุมมองเพื่อแก้ปัญหาหรืออาจต้องเจาะลึกลงไปใน EAV / CR ชอบการตอบสนองเชิงบวกต่อรุ่น EAV / CR เพื่อนนักพัฒนาของฉันทุกคนพูดในสิ่งที่เจฟฟรีย์เคมป์สัมผัสด้านล่าง: "เอนทิตีใหม่ต้องได้รับการจำลองและออกแบบโดยมืออาชีพ" (นำออกจากบริบทอ่านคำตอบของเขาด้านล่าง) ปัญหาคือ: …

7
ความแตกต่างระหว่าง View และ table ใน sql
อาจซ้ำกันได้: ความแตกต่างระหว่างมุมมองและตารางในประสิทธิภาพ ความแตกต่างหลักระหว่างมุมมองและตารางใน SQL คืออะไร มีข้อดีของการใช้มุมมองแทนตารางหรือไม่
136 sql  view 

11
วิธีการระบุขั้นตอนการจัดเก็บทั้งหมดอ้างอิงตารางเฉพาะ
ฉันสร้างตารางเกี่ยวกับสภาพแวดล้อมการพัฒนาเพื่อจุดประสงค์ในการทดสอบและมี sp ไม่กี่ตัวที่อ้างอิงตารางนี้ ตอนนี้ฉันต้องวางตารางนี้รวมทั้งระบุ sp ทั้งหมดที่อ้างอิงตารางนี้ ฉันกำลังประสบปัญหาในการค้นหารายชื่อ sp ทั้งหมด กรุณาแนะนำแบบสอบถามโดยสมมติว่าชื่อตารางคือ 'x' และฐานข้อมูลคือ sql server 2005


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