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

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


14
เลือกจากอะไร?
เป็นไปได้ไหมที่จะมีคำสั่งเช่น SELECT "Hello world" WHERE 1 = 1 ใน SQL? สิ่งสำคัญที่ฉันอยากรู้คือฉันสามารถเลือกจากอะไรได้ไหมคือไม่มีคำสั่ง FROM
94 sql 

7
เพิ่มคอลัมน์ลงในตารางโดยมีค่าเริ่มต้นเท่ากับค่าของคอลัมน์ที่มีอยู่
จะเพิ่มคอลัมน์ลงในตาราง SQL Server ด้วยค่าเริ่มต้นที่เท่ากับค่าของคอลัมน์ที่มีอยู่ได้อย่างไร? ฉันลองใช้คำสั่ง T-SQL นี้: ALTER TABLE tablename ADD newcolumn type NOT NULL DEFAULT (oldcolumn) แต่มันให้ข้อผิดพลาด: ไม่อนุญาตให้ใช้ชื่อ "คอลัมน์เก่า" ในบริบทนี้ นิพจน์ที่ถูกต้องคือค่าคงที่นิพจน์คงที่และตัวแปร (ในบางบริบท) ไม่อนุญาตให้ใช้ชื่อคอลัมน์

6
เลือกค่าสูงสุดของแต่ละกลุ่ม
Name Value AnotherColumn ----------- Pump 1 8000.0 Something1 Pump 1 10000.0 Something2 Pump 1 10000.0 Something3 Pump 2 3043 Something4 Pump 2 4594 Something5 Pump 2 6165 Something6 ตารางของฉันมีลักษณะประมาณนี้ ฉันต้องการทราบวิธีการเลือกค่าสูงสุดสำหรับแต่ละปั๊ม select a.name, value from out_pumptable as a, (select name, max(value) as value from out_pumptable where group by posnumber)g where and …
94 sql 

4
คุณสร้างตารางชั่วคราวในฐานข้อมูล Oracle ได้อย่างไร
ฉันต้องการสร้างตารางชั่วคราวในฐานข้อมูล Oracle สิ่งที่ต้องการ Declare table @table (int id) ในเซิร์ฟเวอร์ SQL แล้วเติมด้วยคำสั่งเลือก เป็นไปได้ไหม? ขอบคุณ

2
ฉันจะมีนิพจน์ตารางทั่วไปหลายรายการในคำสั่ง SELECT เดียวได้อย่างไร
ฉันอยู่ในขั้นตอนการลดความซับซ้อนของคำสั่ง select ที่ซับซ้อนดังนั้นฉันคิดว่าฉันจะใช้นิพจน์ตารางทั่วไป การประกาศ cte เดียวทำงานได้ดี WITH cte1 AS ( SELECT * from cdr.Location ) select * from cte1 เป็นไปได้หรือไม่ที่จะประกาศและใช้มากกว่าหนึ่ง cte ใน SELECT เดียวกัน นั่นคือ sql นี้ให้ข้อผิดพลาด WITH cte1 as ( SELECT * from cdr.Location ) WITH cte2 as ( SELECT * from cdr.Location ) select * from cte1 union …

5
org.postgresql.util.PSQLException: FATAL: ขออภัยมีลูกค้ามากเกินไปแล้ว
ฉันพยายามเชื่อมต่อกับฐานข้อมูล Postgresql ฉันได้รับข้อผิดพลาดต่อไปนี้: ข้อผิดพลาด: org.postgresql.util.PSQLException: FATAL: ขออภัยมีลูกค้ามากเกินไปแล้ว ข้อผิดพลาดหมายถึงอะไรและฉันจะแก้ไขได้อย่างไร server.propertiesไฟล์ของฉันกำลังติดตาม: serverPortData=9042 serverPortCommand=9078 trackConnectionURL=jdbc:postgresql://127.0.0.1:5432/vTrack?user=postgres password=postgres dst=1 DatabaseName=vTrack ServerName=127.0.0.1 User=postgres Password=admin MaxConnections=90 InitialConnections=80 PoolSize=100 MaxPoolSize=100 KeepAliveTime=100 TrackPoolSize=120 TrackMaxPoolSize=120 TrackKeepAliveTime=100 PortNumber=5432 Logging=1
93 java  sql  postgresql  jdbc 

12
ตัวอย่างสุ่มอย่างง่ายจากฐานข้อมูล Sql
ฉันจะใช้ตัวอย่างสุ่มอย่างง่ายที่มีประสิทธิภาพใน SQL ได้อย่างไร ฐานข้อมูลที่เป็นปัญหากำลังเรียกใช้ MySQL ตารางของฉันมีอย่างน้อย 200,000 แถวและฉันต้องการตัวอย่างสุ่มอย่างง่ายประมาณ 10,000 คำตอบที่ "ชัดเจน" คือ: SELECT * FROM table ORDER BY RAND() LIMIT 10000 สำหรับตารางขนาดใหญ่มันช้าเกินไปมันเรียกRAND()ทุกแถว (ซึ่งวางไว้ที่ O (n)) แล้วเรียงลำดับทำให้เป็น O (n lg n) ได้ดีที่สุด มีวิธีทำเร็วกว่า O (n) หรือไม่? หมายเหตุ : ในฐานะที่เป็นแอนดรูเหมาชี้ให้เห็นในความคิดเห็นที่หากคุณใช้วิธีการนี้ใน SQL Server คุณควรใช้ฟังก์ชั่น T-SQL NEWID()เพราะ RAND () อาจจะกลับมาเป็นค่าเดียวกันสำหรับทุกแถว แก้ไข: 5 ปีต่อมา ฉันพบปัญหานี้อีกครั้งด้วยตารางที่ใหญ่กว่าและลงเอยด้วยการใช้โซลูชันของ …
93 mysql  sql  postgresql  random 

9
ค้นหาแบบเต็มข้อความด้วย InnoDB
ฉันกำลังพัฒนาเว็บแอปพลิเคชันปริมาณมากโดยที่ส่วนหนึ่งเป็นฐานข้อมูล MySQL ของโพสต์การสนทนาที่จะต้องเพิ่มเป็น 20M + แถวอย่างราบรื่น เดิมทีฉันวางแผนที่จะใช้ MyISAM สำหรับตาราง (สำหรับความสามารถในการค้นหาแบบเต็มข้อความในตัว ) แต่ความคิดของตารางทั้งหมดถูกล็อคเนื่องจากการเขียนเพียงครั้งเดียวทำให้ฉันชัตเตอร์ การล็อกระดับแถวมีความหมายมากขึ้น (ไม่ต้องพูดถึงข้อดีด้านความเร็วอื่น ๆ ของ InnoDB เมื่อจัดการกับโต๊ะขนาดใหญ่) ด้วยเหตุนี้ฉันจึงค่อนข้างตั้งใจที่จะใช้ InnoDB ปัญหาคือ ... InnoDB ไม่มีความสามารถในการค้นหาแบบเต็มข้อความในตัว ฉันควรใช้ระบบค้นหาของบุคคลที่สามหรือไม่? เช่นLucene (c ++) / Sphinx ? นินจาฐานข้อมูลของคุณมีข้อเสนอแนะ / แนวทางหรือไม่?zoieของ LinkedIn (จาก Lucene) ดูเหมือนจะเป็นตัวเลือกที่ดีที่สุดในขณะนี้... ถูกสร้างขึ้นจากความสามารถแบบเรียลไทม์ (ซึ่งค่อนข้างสำคัญสำหรับแอปพลิเคชันของฉัน) ฉันลังเลเล็กน้อยที่จะกระทำโดยไม่มีข้อมูลเชิงลึก ... (FYI: จะอยู่ใน EC2 พร้อมแท่นขุดเจาะหน่วยความจำสูงโดยใช้ PHP เพื่อให้บริการส่วนหน้า)

6
ฉันจะเขียน. Skip (1000) ของ LINQ ได้อย่างไร (100) ใน SQL บริสุทธิ์
SQL เทียบเท่ากับ.Skip()วิธีการใน LINQ คืออะไร? ตัวอย่างเช่นฉันต้องการเลือกแถว 1,000-1100 จากตารางฐานข้อมูลเฉพาะ เป็นไปได้ด้วย SQL เพียงอย่างเดียวหรือไม่? หรือฉันต้องเลือกทั้งตารางจากนั้นค้นหาแถวในหน่วยความจำ ฉันอยากจะหลีกเลี่ยงสิ่งนี้ถ้าเป็นไปได้เนื่องจากโต๊ะอาจมีขนาดค่อนข้างใหญ่
93 .net  sql  sql-server 


11
แบบสอบถาม MySQL ค้นหาค่าในสตริงที่คั่นด้วยเครื่องหมายจุลภาค
ฉันมีฟิลด์COLORS (varchar(50))ในตารางของฉันSHIRTSที่มีสตริงคั่นด้วยจุลภาคเช่น1,2,5,12,15,. แต่ละหมายเลขแสดงถึงสีที่มี เมื่อเรียกใช้แบบสอบถามselect * from shirts where colors like '%1%'เพื่อรับเสื้อสีแดงทั้งหมด (color = 1) ฉันยังได้เสื้อที่มีสีเทา (= 12) และสีส้ม (= 15) ฉันจะเขียนแบบสอบถามใหม่ได้อย่างไรเพื่อให้เลือกเฉพาะสี 1 เท่านั้นไม่ใช่ทุกสีที่มีหมายเลข 1
93 sql  mysql  database 


9
“ select count (1) from table_name” ในตารางฐานข้อมูลหมายถึงอะไร
เมื่อเราดำเนินการselect count(*) from table_nameจะส่งกลับจำนวนแถว อะไรcount(1)ทำอย่างไร ที่1นี่มีความหมายอะไร? สิ่งนี้เหมือนกับcount(*)(เนื่องจากให้ผลลัพธ์เดียวกันกับการดำเนินการ) หรือไม่
93 sql  database  oracle 

9
ข้อ จำกัด ของฐานข้อมูลคืออะไร? [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ คำจำกัดความที่ชัดเจนของข้อ จำกัด ของฐานข้อมูลคืออะไร? เหตุใดข้อ จำกัด จึงมีความสำคัญสำหรับฐานข้อมูล ประเภทของข้อ จำกัด คืออะไร?

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