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

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

5
ไม่สามารถหักล้างได้เมื่อเทียบกับที่ไม่แน่นอนเริ่มต้นทันที
ผมอ่านบทความนี้เกี่ยวกับ SQL คำหลักDEFERRABLEในฐานข้อมูลระบบ - หนังสือทั้งหมด หลัง[ไม่ DEFERRABLE]เป็นค่าเริ่มต้นและหมายความว่าทุกครั้งที่มีการปรับเปลี่ยนฐานข้อมูลคำสั่งจะถูกดำเนินการข้อ จำกัด มีการตรวจสอบทันทีหลังจากนั้นหากการปรับเปลี่ยนอาจละเมิดข้อ จำกัด ต่างประเทศที่สำคัญ อย่างไรก็ตามหากเราประกาศข้อ จำกัด ว่าDEFERRABLEเรามีตัวเลือกให้รอจนกว่าธุรกรรมจะเสร็จสมบูรณ์ก่อนที่จะตรวจสอบข้อ จำกัด เราปฏิบัติตามคำหลักDEFERRABLEโดยขั้นแรกรอการตัดบัญชีหรือขั้นแรกทันที ในกรณีเดิมการตรวจสอบจะถูกเลื่อนออกไปก่อนที่จะมีการทำธุรกรรมแต่ละครั้ง ในกรณีหลังนี้จะมีการตรวจสอบทันทีหลังจากแต่ละคำสั่ง เป็นวิธีการที่NOT DEFERRABLEแตกต่างจากDEFERRABLE INITIALLY IMMEDIATE? ในทั้งสองกรณีดูเหมือนว่าข้อ จำกัด ใด ๆ จะถูกตรวจสอบหลังจากแต่ละคำสั่ง
92 sql  database 

6
ความสัมพันธ์ของคีย์หลักและดัชนีคลัสเตอร์
สามารถTABLEมีคีย์หลักโดยไม่มีดัชนีคลัสเตอร์ได้หรือไม่? และสามารถTABLEมีดัชนีคลัสเตอร์โดยไม่ต้องมีคีย์หลักได้หรือไม่? ใครช่วยบอกความสัมพันธ์ระหว่างคีย์หลักกับดัชนีคลัสเตอร์สั้น ๆ ได้ไหม

2
แบบสอบถามย่อยใน FROM ต้องมีนามแฝง
ฉันมีแบบสอบถามนี้ที่ฉันเขียนใน PostgreSQL ซึ่งส่งกลับข้อผิดพลาดว่า: [Err] ข้อผิดพลาด: LINE 3: FROM (SELECT DISTINCT (identifiant) AS made_only_recharge นี่คือข้อความค้นหาทั้งหมด: SELECT COUNT (made_only_recharge) AS made_only_recharge FROM ( SELECT DISTINCT (identifiant) AS made_only_recharge FROM cdr_data WHERE CALLEDNUMBER = '0130' EXCEPT SELECT DISTINCT (identifiant) AS made_only_recharge FROM cdr_data WHERE CALLEDNUMBER != '0130' ) ฉันมีข้อความค้นหาที่คล้ายกันใน Oracle ซึ่งใช้งานได้ดี การเปลี่ยนแปลงเพียงอย่างเดียวคือสิ่งที่ฉันมีEXCEPTใน Oracle …

10
วิธีรับค่าสูงสุดของคอลัมน์โดยใช้ Entity Framework
เพื่อให้ได้ค่าสูงสุดของคอลัมน์ที่มีจำนวนเต็มฉันสามารถใช้คำสั่ง T-SQL ต่อไปนี้ SELECT MAX(expression ) FROM tables WHERE predicates; เป็นไปได้ไหมที่จะได้ผลลัพธ์เดียวกันกับ Entity Framework สมมติว่าฉันมีโมเดลต่อไปนี้ public class Person { public int PersonID { get; set; } public int Name { get; set; } public int Age { get; set; } } ฉันจะหาอายุของผู้สูงอายุได้อย่างไร? int maxAge = context.Persons.?
92 c#  sql  entity-framework  max 

7
ใน SQL Server“ SET ANSI_NULLS ON” หมายความว่าอย่างไร
คำจำกัดความกล่าวว่า: เมื่อ SET ANSI_NULLS เปิดอยู่คำสั่ง SELECT ที่ใช้ WHERE column_name = NULL จะส่งกลับศูนย์แถวแม้ว่าจะมีค่า null ใน column_name ก็ตาม คำสั่ง SELECT ที่ใช้ WHERE column_name <> NULL ส่งคืนแถวศูนย์แม้ว่าจะมีค่าที่ไม่ใช่ null ใน column_name ก็ตาม นี่หมายความว่าจะไม่มีการรวมค่าว่างในแบบสอบถามนี้หรือไม่? SELECT Region FROM employees WHERE Region = @region หรือANSI_NULLกังวลเฉพาะคำถามเช่นนี้ (ซึ่งWHEREรวมถึงคำเฉพาะNULL)? SELECT Region FROM employees WHERE Region = NULL

6
เพิ่มความสัมพันธ์ของ Foreign Key ระหว่างสองฐานข้อมูล
ฉันมีสองตารางในสองฐานข้อมูลที่แตกต่างกัน ใน table1 (ในฐานข้อมูล 1) มีคอลัมน์ชื่อ column1 และเป็นคีย์หลัก ตอนนี้ใน table2 (ใน database2) มีคอลัมน์ชื่อ column2 และฉันต้องการเพิ่มเป็นคีย์ต่างประเทศ ฉันพยายามเพิ่มมันและทำให้ฉันมีข้อผิดพลาดต่อไปนี้: ข่าวสารเกี่ยวกับ 1763 ระดับ 16 สถานะ 0 บรรทัด 1 การอ้างอิงคีย์ต่างประเทศข้ามฐานข้อมูลไม่ได้รับการสนับสนุน ฐานข้อมูลคีย์ต่างประเทศ 2.table2. ข่าวสารเกี่ยวกับ 1750 ระดับ 16 สถานะ 0 บรรทัด 1 ไม่สามารถสร้างข้อ จำกัด ดูข้อผิดพลาดก่อนหน้านี้ ฉันจะทำเช่นนั้นได้อย่างไรเนื่องจากตารางอยู่ในฐานข้อมูลที่แตกต่างกัน

7
วิธีรับชื่อฐานข้อมูลจาก Connection String โดยใช้ SqlConnectionStringBuilder
ฉันไม่ต้องการแยกสตริงการเชื่อมต่อโดยใช้การจัดการสตริงและรับเซิร์ฟเวอร์ฐานข้อมูล uid และรหัสผ่าน ฉันอ่านลิงค์ต่อไปนี้และอ่านคำตอบที่ยอมรับฉันพบว่าเป็นวิธีที่ดีที่สุดในการดึงรหัสผู้ใช้และรหัสผ่านออกจากสตริงการเชื่อมต่อ แต่ชื่อฐานข้อมูลล่ะ วิธีที่ถูกต้องในการรับชื่อผู้ใช้และรหัสผ่านจากสตริงการเชื่อมต่อ? วิธีรับชื่อฐานข้อมูลจาก Connection String โดยใช้ SqlConnectionStringBuilder (DataSource เป็นชื่อเซิร์ฟเวอร์หรือไม่)
92 c#  asp.net  sql  ado.net 

4
mysql ลบภายใต้เซฟโหมด
ฉันมีผู้สอนโต๊ะและฉันต้องการลบบันทึกที่มีเงินเดือนอยู่ในช่วงหนึ่งวิธีที่ใช้งานง่ายมีดังนี้: delete from instructor where salary between 13000 and 15000; อย่างไรก็ตามในเซฟโหมดฉันไม่สามารถลบบันทึกได้โดยไม่ต้องระบุคีย์หลัก (ID) ดังนั้นฉันจึงเขียน sql ต่อไปนี้: delete from instructor where ID in (select ID from instructor where salary between 13000 and 15000); อย่างไรก็ตามมีข้อผิดพลาด: You can't specify target table 'instructor' for update in FROM clause ฉันสับสนเพราะเมื่อฉันเขียน select * from instructor where ID …
92 mysql  sql 


5
การสร้างดัชนีก่อนกรอกข้อมูลในตารางจะดีกว่าหรือไม่หรือหลังจากจัดวางข้อมูลแล้ว
ฉันมีตารางประมาณ 100 ล้านแถวที่ฉันจะคัดลอกเพื่อแก้ไขเพิ่มดัชนี ฉันไม่ได้กังวลกับเวลาที่ต้องใช้ในการสร้างตารางใหม่ แต่ดัชนีที่สร้างขึ้นจะมีประสิทธิภาพมากขึ้นหรือไม่หากฉันแก้ไขตารางก่อนที่จะแทรกข้อมูลใด ๆ หรือแทรกข้อมูลก่อนแล้วจึงเพิ่มดัชนี

6
Android SQLite: Update Statement
ฉันต้องการใช้ SQLite ในแอปพลิเคชันของฉัน ฉันทำตามบทช่วยสอนนี้ .. การสร้างและใช้ฐานข้อมูลใน Android one ทุกอย่างทำงานได้ดี ฉันแทรก 1 แถวกับ 5 คอลัมน์ ตอนนี้ฉันต้องการอัปเดตค่า 1 คอลัมน์เท่านั้นและอื่น ๆ จะยังคงเหมือนเดิม มีวิธีการอัปเดตวิธีหนึ่งในบทช่วยสอน แต่ต้องการพารามิเตอร์ทั้งหมดอย่างไรก็ตามฉันต้องการอัปเดตเพียงคอลัมน์เดียว
91 android  sql  sqlite 

3
อะไรคือความแตกต่างระหว่าง“ LINQ to Entities”,“ LINQ to SQL” และ“ LINQ to Dataset”
ฉันทำงานกับ LINQ มาระยะหนึ่งแล้ว อย่างไรก็ตามยังคงเป็นปริศนาอยู่เล็กน้อยว่าความแตกต่างที่แท้จริงระหว่างรสชาติที่กล่าวถึงของ LINQ คืออะไร คำตอบที่ประสบความสำเร็จจะมีความแตกต่างสั้น ๆ ระหว่างพวกเขา เป้าหมายหลักของแต่ละรสชาติคืออะไรมีประโยชน์อย่างไรและมีผลต่อประสิทธิภาพ ... ป.ล. ฉันรู้ว่ามีแหล่งข้อมูลมากมายอยู่ที่นั่น แต่ฉันกำลังมองหา "ข้อมูลโกง" ชนิดหนึ่งที่แนะนำให้มือใหม่ไปหาเป้าหมายที่เจาะจง
91 c#  sql  linq  dataset  entities 

2
จำเป็นต้องใช้ # ในการสร้างตารางชั่วคราวในเซิร์ฟเวอร์ SQL หรือไม่
จำเป็นต้องใช้#ก่อนสร้างตารางชั่วคราวในเซิร์ฟเวอร์ SQL หรือไม่? ตัวอย่าง: SELECT column1, column2, someInt, someVarChar INTO ItemBack1 FROM table2 WHERE table2.ID = 7 สำหรับ ItemBack1 จำเป็นต้องใช้#สัญลักษณ์หรือไม่? ถ้าไม่เช่นนั้น#การสร้างตารางชั่วคราวคืออะไร?

5
มีข้อดีกว่า varchar (500) มากกว่า varchar (8000) หรือไม่?
ฉันได้อ่านเรื่องนี้ในฟอรัม MSDN และที่นี่ก็ยังไม่ชัดเจน ฉันคิดว่าถูกต้อง: Varchar (สูงสุด) จะถูกจัดเก็บเป็นประเภทข้อมูลข้อความดังนั้นจึงมีข้อเสีย สมมติว่าฟิลด์ของคุณมีความยาวน้อยกว่า 8000 อักขระได้อย่างน่าเชื่อถือ เช่นเดียวกับเขตข้อมูล BusinessName ในตารางฐานข้อมูลของฉัน ในความเป็นจริงชื่อธุรกิจมักจะต่ำกว่า (ดึงตัวเลขออกจากหมวก) 500 อักขระ ดูเหมือนว่าช่อง varchar จำนวนมากที่ฉันวิ่งข้ามจะลดลงภายใต้จำนวนอักขระ 8k ฉันควรทำให้ฟิลด์นั้นเป็น varchar (500) แทน varchar (8000) หรือไม่? จากสิ่งที่ฉันเข้าใจเกี่ยวกับ SQL ไม่มีความแตกต่างระหว่างสองสิ่งนี้ ดังนั้นเพื่อให้ชีวิตง่ายขึ้นฉันต้องการกำหนดฟิลด์ varchar ทั้งหมดของฉันเป็น varchar (8000) มีข้อบกพร่องหรือไม่? ที่เกี่ยวข้อง: ขนาดของคอลัมน์ varchar (ฉันไม่รู้สึกว่าคนนี้ตอบคำถามของฉัน)
91 sql  sql-server  tsql 

10
SQL Row_Number () ฟังก์ชันใน Where Clause
ฉันพบหนึ่งคำถามที่ตอบด้วยRow_Number()ฟังก์ชันในประโยค where เมื่อฉันลองใช้แบบสอบถามหนึ่งรายการฉันได้รับข้อผิดพลาดต่อไปนี้: "ข่าวสารเกี่ยวกับ 4108 ระดับ 15 สถานะ 1 บรรทัด 1 ฟังก์ชันที่มีหน้าต่างสามารถปรากฏได้เฉพาะในส่วนคำสั่ง SELECT หรือ ORDER BY" นี่คือคำถามที่ฉันพยายาม หากใครรู้วิธีแก้ปัญหานี้โปรดแจ้งให้เราทราบ SELECT employee_id FROM V_EMPLOYEE WHERE row_number() OVER ( ORDER BY employee_id ) > 0 ORDER BY Employee_ID

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