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

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

19
เลือกข้อมูลจากช่วงวันที่ระหว่างวันที่สองวัน
ฉันมีตารางที่ตั้งชื่อProduct_Salesและมีข้อมูลเช่นนี้ Product_ID | Sold_by | Qty | From_date | To_date -----------+---------+-----+------------+----------- 3 | 12 | 7 | 2013-01-05 | 2013-01-07 6 | 22 | 14 | 2013-01-06 | 2013-01-10 8 | 11 | 9 | 2013-02-05 | 2013-02-11 คำถามคืออะไรถ้าฉันต้องการเลือกข้อมูลการขายระหว่างวันที่สองวันจากช่วงวันที่? ตัวอย่างเช่นผมต้องการที่จะเลือกข้อมูลยอดขายจากการ2013-01-032013-01-09
101 sql  date  range 

6
แบบสอบถามจำนวนมากดำเนินการใน java ในคำสั่งเดียว
สวัสดีฉันสงสัยว่าเป็นไปได้หรือไม่ที่จะดำเนินการบางอย่างเช่นนี้โดยใช้ JDBC เนื่องจากปัจจุบันมีข้อยกเว้นแม้ว่าจะเป็นไปได้ในเบราว์เซอร์แบบสอบถาม MySQL ก็ตาม "SELECT FROM * TABLE;INSERT INTO TABLE;" ในขณะที่ฉันตระหนักดีว่าเป็นไปได้ที่จะมีการแยกสตริงแบบสอบถาม SQL และคำสั่งดำเนินการสองครั้ง แต่ฉันสงสัยว่ามีวิธีการแบบครั้งเดียวหรือไม่ String url = "jdbc:mysql://localhost:3306/"; String dbName = "databaseinjection"; String driver = "com.mysql.jdbc.Driver"; String sqlUsername = "root"; String sqlPassword = "abc"; Class.forName(driver).newInstance(); connection = DriverManager.getConnection(url+dbName, sqlUsername, sqlPassword);
101 java  mysql  sql  jdbc 

3
SQLite - คุณเข้าร่วมตารางจากฐานข้อมูลต่างๆได้อย่างไร?
ฉันมีแอปพลิเคชันที่ใช้ฐานข้อมูล SQLite และทุกอย่างทำงานได้ตามที่ควร ตอนนี้ฉันอยู่ในขั้นตอนการเพิ่มฟังก์ชันใหม่ที่ต้องใช้ฐานข้อมูล SQLite ตัวที่สอง แต่ฉันมีปัญหาในการหาวิธีเข้าร่วมตารางจากฐานข้อมูลต่างๆ หากมีใครสามารถช่วยฉันได้ฉันจะขอบคุณจริงๆ! แก้ไข:ดูคำถามนี้สำหรับกรณีตัวอย่างที่คุณสามารถปรับให้เข้ากับภาษาของคุณได้เมื่อคุณแนบฐานข้อมูลตามที่กล่าวไว้ในคำตอบที่ยอมรับ
101 sql  database  sqlite  join 

5
ทริกเกอร์การปรับปรุง SQL เฉพาะเมื่อมีการแก้ไขคอลัมน์
จากการดูตัวอย่างอื่น ๆ ที่ฉันได้พบกับสิ่งต่อไปนี้ แต่ดูเหมือนจะไม่ได้ผลอย่างที่ต้องการ: ฉันต้องการให้อัปเดตข้อมูลที่แก้ไขเฉพาะเมื่อQtyToRepairค่าได้รับการอัปเดตแล้ว ... แต่ไม่เป็นเช่นนั้น ที่. หากฉันแสดงความคิดเห็นที่ใดข้อมูลที่แก้ไขจะได้รับการอัปเดตในทุกกรณี อย่างที่ฉันพูดตัวอย่างอื่น ๆ ทำให้ฉันเป็นคนมองโลกในแง่ดี เบาะแสใด ๆ ที่ชื่นชม ขอบคุณ. วอลเตอร์ ALTER TRIGGER [dbo].[tr_SCHEDULE_Modified] ON [dbo].[SCHEDULE] AFTER UPDATE AS BEGIN SET NOCOUNT ON; UPDATE SCHEDULE SET modified = GETDATE() , ModifiedUser = SUSER_NAME() , ModifiedHost = HOST_NAME() FROM SCHEDULE S INNER JOIN Inserted I …
101 sql  sql-server  triggers 

23
การตั้งชื่อคอลัมน์ ID ในตารางฐานข้อมูล
ฉันสงสัยความคิดเห็นของผู้คนเกี่ยวกับการตั้งชื่อคอลัมน์ ID ในตารางฐานข้อมูล ถ้าฉันมีตารางที่เรียกว่าใบแจ้งหนี้ที่มีคีย์หลักของคอลัมน์ข้อมูลประจำตัวฉันจะเรียกคอลัมน์นั้นว่า InvoiceID เพื่อที่ฉันจะได้ไม่ขัดแย้งกับตารางอื่นและเห็นได้ชัดว่ามันคืออะไร ที่ฉันทำงานปัจจุบันพวกเขาได้เรียก ID คอลัมน์ ID ทั้งหมด ดังนั้นพวกเขาจะทำสิ่งต่อไปนี้: Select i.ID , il.ID From Invoices i Left Join InvoiceLines il on i.ID = il.InvoiceID ตอนนี้ฉันพบปัญหาบางประการที่นี่: 1. คุณจะต้องใช้นามแฝงคอลัมน์ใน select 2. ID = InvoiceID ไม่พอดีกับสมองของฉัน 3. ถ้าคุณไม่ได้ใช้นามแฝงตารางและอ้างถึง InvoiceID จะเห็นได้ชัดว่าตารางใด มันอยู่? คนอื่น ๆ คิดอย่างไรในหัวข้อนี้?

8
วิธีการยกเว้นค่า null ใน array_agg เช่นใน string_agg โดยใช้ postgres?
ถ้าฉันใช้array_aggเพื่อรวบรวมชื่อฉันจะได้ชื่อของฉันคั่นด้วยลูกน้ำ แต่ในกรณีที่มีnullค่า null นั้นจะถูกนำมาเป็นชื่อในการรวมด้วย ตัวอย่างเช่น : SELECT g.id, array_agg(CASE WHEN g.canonical = 'Y' THEN g.users ELSE NULL END) canonical_users, array_agg(CASE WHEN g.canonical = 'N' THEN g.users ELSE NULL END) non_canonical_users FROM groups g GROUP BY g.id; มันกลับมา,Larry,Philแทนที่จะเป็นเพียงแค่Larry,Phil(ใน 9.1.2 ของฉันมันแสดงให้เห็นNULL,Larry,Phil) เช่นเดียวกับในซอนี้ แต่ถ้าฉันใช้string_agg()มันจะแสดงเฉพาะชื่อ (โดยไม่มีเครื่องหมายจุลภาคหรือว่างเปล่า) เหมือนที่นี่ ปัญหาคือฉันPostgres 8.4ติดตั้งบนเซิร์ฟเวอร์แล้วและstring_agg()ใช้งานไม่ได้ มีวิธีใดบ้างที่จะทำให้ array_agg ทำงานคล้ายกับ string_agg ()?


3
วิธีจัดเรียงผลลัพธ์จาก string_agg ()
ฉันมีโต๊ะ: CREATE TABLE tblproducts ( productid integer, product character varying(20) ) ด้วยแถว: INSERT INTO tblproducts(productid, product) VALUES (1, 'CANDID POWDER 50 GM'); INSERT INTO tblproducts(productid, product) VALUES (2, 'SINAREST P SYP 100 ML'); INSERT INTO tblproducts(productid, product) VALUES (3, 'ESOZ D 20 MG CAP'); INSERT INTO tblproducts(productid, product) VALUES (4, …

8
จะใช้ดัชนีในคำสั่งเลือกได้อย่างไร?
ให้พูดในตารางพนักงานฉันได้สร้างดัชนี (idx_name) บนemp_nameคอลัมน์ของตาราง ฉันจำเป็นต้องระบุชื่อดัชนีอย่างชัดเจนในส่วนคำสั่งที่เลือกหรือจะใช้โดยอัตโนมัติเพื่อเร่งความเร็วในการสืบค้น ถ้าจำเป็นต้องระบุไว้ในส่วนคำสั่ง select ไวยากรณ์สำหรับการใช้ดัชนีในแบบสอบถามแบบเลือกคืออะไร?
101 sql  database  indexing 

1
ข้อ จำกัด UNIQUE สร้าง INDEX บนฟิลด์โดยอัตโนมัติหรือไม่
ฉันควรกำหนดดัชนีแยกต่างหากในemailคอลัมน์ (เพื่อจุดประสงค์ในการค้นหา) หรือดัชนีถูกเพิ่มโดยอัตโนมัติพร้อมกับUNIQ_EMAIL_USERข้อ จำกัด ? CREATE TABLE IF NOT EXISTS `customer` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL, `first` varchar(255) NOT NULL, `last` varchar(255) NOT NULL, `slug` varchar(255) NOT NULL, `email` varchar(255) NOT NULL, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY …
101 mysql  sql  indexing 

27
การสร้างสตริงแบบสุ่มด้วย T-SQL
หากคุณต้องการสร้างสตริงตัวอักษรและตัวเลขหลอกโดยใช้ T-SQL คุณจะทำอย่างไร? คุณจะยกเว้นอักขระเช่นเครื่องหมายดอลลาร์ขีดกลางและเครื่องหมายทับได้อย่างไร
101 sql  tsql  random 

3
การอ้างอิงถึงออบเจ็กต์ที่ไม่ได้รับการแก้ไข [INFORMATION_SCHEMA] [TABLES]
ฉันได้สร้าง UDF ที่เข้าถึง[INFORMATION_SCHEMA].[TABLES]มุมมอง: CREATE FUNCTION [dbo].[CountTables] ( @name sysname ) RETURNS INT AS BEGIN RETURN ( SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = @name ); END ภายใน Visual Studio ทั้งสคีมาและชื่อสำหรับมุมมองจะมีคำเตือน: SQL71502: ฟังก์ชัน: [dbo] [CountTables] มีการอ้างอิงที่ยังไม่ได้แก้ไขไปยังอ็อบเจ็กต์ [INFORMATION_SCHEMA] [TABLES] ฉันยังสามารถเผยแพร่โครงการฐานข้อมูลได้โดยไม่มีปัญหาใด ๆ และดูเหมือนว่า UDF จะทำงานได้อย่างถูกต้อง IntelliSense เติมชื่อของมุมมองให้ฉันดูเหมือนจะไม่มีปัญหากับมัน ฉันยังได้ลองเปลี่ยนการนำไปใช้งานsys.objectsแทนมุมมองนี้ แต่ฉันก็ได้รับคำเตือนแบบเดียวกันสำหรับมุมมองนี้เช่นกัน ฉันจะแก้ไขคำเตือนนี้ได้อย่างไร

8
ตัวดำเนินการ LIKE คำนึงถึงขนาดตัวพิมพ์กับ MSSQL Server หรือไม่
ในเอกสารเกี่ยวกับตัวดำเนินการ LIKEไม่มีอะไรบอกเกี่ยวกับกรณี - ไวของมัน ใช่ไหม? จะเปิด / ปิดได้อย่างไร? ฉันกำลังสอบถามvarchar(n)คอลัมน์ในการติดตั้ง Microsoft SQL Server 2005 ถ้าเป็นเรื่องสำคัญ

14
วิธีเลือกแถวล่างสุด
ฉันสามารถทำ SELECT TOP (200) ... แต่ทำไมไม่ BOTTOM (200) ล่ะ? เพื่อไม่ให้เข้าใจถึงปรัชญาที่ฉันหมายถึงคือฉันจะทำอย่างไรให้เทียบเท่ากับ TOP (200) แต่ในทางกลับกัน (จากด้านล่างเช่นที่คุณคาดหวังให้ BOTTOM ทำ ... )

5
ใน SQL Server คุณควรใช้ GO เมื่อใดและคุณควรใช้เซมิโคลอนเมื่อใด?
ฉันสับสนมาตลอดว่าเวลาไหนควรใช้คีย์เวิร์ด GO หลังคำสั่งและต้องใช้เซมิโคลอนต่อท้ายคำสั่งหรือไม่ ความแตกต่างคืออะไรและทำไม / เมื่อใดจึงควรใช้? เมื่อฉันเรียกใช้ Generate-script ใน SQL Server Management Studio ดูเหมือนว่าจะใช้ GO ทั่วทุกที่ แต่ไม่ใช่เซมิโคลอน
100 sql  sql-server 

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