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

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

15
สร้างวันที่จากวันที่เดือนและปีด้วย T-SQL
ฉันพยายามแปลงวันที่ด้วยส่วนต่างๆเช่น 12, 1, 2007 เป็นวันที่ใน SQL Server 2005 ฉันได้ลองต่อไปนี้: CAST(DATEPART(year, DATE)+'-'+ DATEPART(month, DATE) +'-'+ DATEPART(day, DATE) AS DATETIME) แต่ผลลัพธ์นี้ในวันที่ไม่ถูกต้อง วิธีที่ถูกต้องในการเปลี่ยนค่าวันที่สามค่าเป็นรูปแบบวันที่และเวลาที่ถูกต้องคืออะไร

15
ข้อผิดพลาดของ MySQL:: 'การเข้าถึงถูกปฏิเสธสำหรับผู้ใช้' รูท '@' localhost '
$ ./mysqladmin -u root -p ' redacted ' ป้อนรหัสผ่าน: mysqladmin: เชื่อมต่อกับเซิร์ฟเวอร์ที่ 'localhost' ล้มเหลวข้อผิดพลาด: 'การเข้าถึงถูกปฏิเสธสำหรับผู้ใช้' รูท '@' localhost '(ใช้รหัสผ่าน: YES)' ฉันจะแก้ไขสิ่งนี้ได้อย่างไร

9
วิธีที่ดีที่สุดในการแทรกหลายแถวใน Oracle?
ฉันกำลังมองหาวิธีที่ดีในการแทรกหลายแถวลงในฐานข้อมูล Oracle 9 การทำงานต่อไปนี้ใน MySQL แต่ดูเหมือนว่าจะไม่รองรับใน Oracle INSERT INTO TMP_DIM_EXCH_RT (EXCH_WH_KEY, EXCH_NAT_KEY, EXCH_DATE, EXCH_RATE, FROM_CURCY_CD, TO_CURCY_CD, EXCH_EFF_DATE, EXCH_EFF_END_DATE, EXCH_LAST_UPDATED_DATE) VALUES (1, 1, '28-AUG-2008', 109.49, 'USD', 'JPY', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'), (2, 1, '28-AUG-2008', .54, 'USD', 'GBP', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'), (3, 1, '28-AUG-2008', 1.05, 'USD', 'CAD', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'), (4, 1, '28-AUG-2008', …

8
ปิดใช้งานการเข้าสู่ระบบ Rails SQL ในคอนโซล
มีวิธีการปิดใช้งานการบันทึกแบบสอบถาม SQL เมื่อฉันกำลังดำเนินการคำสั่งในคอนโซลหรือไม่ เป็นการดีถ้าหากฉันสามารถปิดการใช้งานและเปิดใช้งานอีกครั้งด้วยคำสั่งในคอนโซล ฉันพยายามแก้ไขข้อบกพร่องบางอย่างและใช้ "สวม" เพื่อพิมพ์ข้อมูลที่เกี่ยวข้อง อย่างไรก็ตามผลลัพธ์แบบสอบถาม sql ทำให้อ่านยาก แก้ไข: ฉันพบวิธีแก้ไขปัญหาอื่นเนื่องจากตั้งค่าตัวบันทึกเป็นศูนย์ในบางครั้งทำให้เกิดข้อผิดพลาดหากมีสิ่งอื่นที่ไม่ใช่รหัสของฉันพยายามเรียก logger.warn แทนการตั้งค่าการตัดไม้เพื่อคุณสามารถตั้งค่าระดับของการตัดไม้ไปยังnil1 ActiveRecord::Base.logger.level = 1 # or Logger::INFO


19
อะไรคือความแตกต่างระหว่าง HAVING และ WHERE?
ฉันจะต้องไปในทางที่ผิดหรือฉันกำลังโง่ในเวลา ความแตกต่างระหว่างHAVINGและWHEREในSQL SELECTคำสั่งคืออะไร? แก้ไข: ฉันได้ทำเครื่องหมายคำตอบของสตีเวนว่าเป็นคำตอบที่ถูกต้องเนื่องจากมีข้อมูลบิตหลักในลิงค์: เมื่อGROUP BYไม่ได้ใช้งานHAVINGจะทำงานเหมือนWHEREประโยค สถานการณ์ที่ฉันเห็นWHEREในไม่มีGROUP BYและเป็นที่ที่ฉันเริ่มสับสน แน่นอนจนกว่าคุณจะรู้สิ่งนี้คุณไม่สามารถระบุได้ในคำถาม
261 sql  where  having 

7
วิธีการตั้งค่าคีย์หลักที่เพิ่มขึ้นอัตโนมัติใน PostgreSQL
ฉันมีตารางใน PostgreSQL ที่มี 22 คอลัมน์และฉันต้องการเพิ่มคีย์หลักที่เพิ่มขึ้นอัตโนมัติ ฉันพยายามสร้างคอลัมน์ชื่อidประเภท BIGSERIAL แต่ pgadmin ตอบกลับด้วยข้อผิดพลาด: ERROR: sequence must have same owner as table it is linked to. ไม่มีใครรู้วิธีแก้ไขปัญหานี้หรือไม่ ฉันจะเพิ่มการสร้างคีย์หลักที่เพิ่มขึ้นอัตโนมัติใน PostgreSQL โดยไม่ต้องสร้างตารางอีกครั้งได้อย่างไร
259 sql  postgresql 

9
INNER JOIN เทียบกับประสิทธิภาพ LEFT JOIN ใน SQL Server
ฉันได้สร้างคำสั่ง SQL ที่ใช้ INNER JOIN ใน 9 ตารางแล้วคำสั่งนี้ใช้เวลานานมาก (มากกว่าห้านาที) ดังนั้นชาวบ้านของฉันแนะนำให้ฉันเปลี่ยน INNER JOIN เป็น LEFT JOIN เพราะการแสดงของ LEFT JOIN ดีกว่าแม้ว่าฉันจะรู้ หลังจากที่ฉันเปลี่ยนความเร็วของการสืบค้นก็เพิ่มขึ้นอย่างมาก ฉันอยากรู้ว่าทำไม LEFT JOIN ถึงเร็วกว่า ININ JOIN คำสั่ง SQL ของฉันมีลักษณะดังนี้: SELECT * FROM A INNER JOIN B ON ... INNER JOIN C ON ... INNER JOIN Dเป็นต้น อัปเดต: นี่เป็นบทสรุปของสคีมาของฉัน FROM sidisaleshdrmly …

7
เลือก DISTINCT ในหนึ่งคอลัมน์
ใช้ SQL Server ฉันมี ... ID SKU PRODUCT ======================= 1 FOO-23 Orange 2 BAR-23 Orange 3 FOO-24 Apple 4 FOO-25 Orange ฉันต้องการ 1 FOO-23 Orange 3 FOO-24 Apple แบบสอบถามนี้ไม่ได้รับฉันไปที่นั่น ฉันจะเลือก DISTINCT บนคอลัมน์เดียวได้อย่างไร SELECT [ID],[SKU],[PRODUCT] FROM [TestData] WHERE ([PRODUCT] = (SELECT DISTINCT [PRODUCT] FROM [TestData] WHERE ([SKU] LIKE 'FOO-%')) ORDER BY …
258 sql  sql-server  tsql  distinct 

7
MySQL ค้นหาและแทนที่ข้อความในฟิลด์
แบบสอบถาม MySQL ใดที่จะทำการค้นหาข้อความและแทนที่ในฟิลด์ใดฟิลด์หนึ่งในตาราง คือค้นหาfooและแทนที่ด้วยbarเพื่อบันทึกข้อมูลที่มีค่าที่จะกลายเป็นhello foohello bar
257 mysql  sql  search  replace 



19
ทำไมบางคนจะใช้ WHERE 1 = 1 AND <conditions> ในประโยค SQL?
เหตุใดจึงมีคนใช้WHERE 1=1 AND &lt;conditions&gt;ในประโยค SQL (ทั้ง SQL ที่ได้รับผ่านสตริงที่ต่อกัน, นิยามมุมมองทั้งสอง) ฉันเคยเห็นที่ไหนสักแห่งว่าสิ่งนี้จะถูกใช้เพื่อป้องกันการฉีด SQL แต่มันดูแปลกมาก หากมีการฉีดจะมีผลเช่นเดียวกับWHERE 1 = 1 AND injected OR 1=1injected OR 1=1 แก้ไขในภายหลัง: แล้วการใช้งานในนิยามมุมมองล่ะ ขอบคุณสำหรับคำตอบ ถึงกระนั้นฉันก็ยังไม่เข้าใจว่าทำไมบางคนถึงใช้โครงสร้างนี้เพื่อกำหนดมุมมองหรือใช้ภายในขั้นตอนการจัดเก็บ ยกตัวอย่างเช่น CREATE VIEW vTest AS SELECT FROM Table WHERE 1=1 AND table.Field=Value
257 sql  dynamic-sql 

21
การปฏิบัติที่ดีที่สุดสำหรับคีย์หลักในตารางคืออะไร
เมื่อออกแบบตารางฉันได้พัฒนานิสัยการมีหนึ่งคอลัมน์ที่ไม่เหมือนใครและฉันสร้างคีย์หลัก สามารถทำได้สามวิธีขึ้นอยู่กับข้อกำหนด: คอลัมน์จำนวนเต็มข้อมูลประจำตัวที่เพิ่มขึ้นอัตโนมัติ ตัวระบุที่ไม่ซ้ำกัน (GUID) คอลัมน์อักขระสั้น (x) หรือจำนวนเต็ม (หรือชนิดตัวเลขอื่น ๆ ที่ค่อนข้างเล็ก) ที่สามารถใช้เป็นคอลัมน์ตัวระบุแถว หมายเลข 3 จะใช้สำหรับการค้นหาที่ค่อนข้างเล็กส่วนใหญ่อ่านตารางที่อาจมีรหัสสตริงความยาวคงที่ที่ไม่ซ้ำกันหรือค่าตัวเลขเช่นปีหรือตัวเลขอื่น ๆ ส่วนใหญ่ตารางอื่น ๆ ทั้งหมดจะมีเลขจำนวนเต็มเพิ่มอัตโนมัติหรือคีย์หลักของตัวระบุที่ไม่ซ้ำกัน คำถาม :-) ฉันเพิ่งเริ่มทำงานกับฐานข้อมูลที่ไม่มีตัวระบุแถวที่สอดคล้องกันและคีย์หลักได้รับการจัดกลุ่มในคอลัมน์ต่างๆ ตัวอย่างบางส่วน: datetime / ตัวอักษร datetime / จำนวนเต็ม datetime / varchar ถ่าน / nvarchar / nvarchar มีกรณีที่ถูกต้องสำหรับเรื่องนี้? ฉันจะกำหนดคอลัมน์ข้อมูลประจำตัวหรือรหัสเฉพาะสำหรับกรณีเหล่านี้อยู่เสมอ นอกจากนี้ยังมีหลายตารางที่ไม่มีคีย์หลักเลย อะไรคือเหตุผลที่ถูกต้องถ้ามีสำหรับสิ่งนี้? ฉันพยายามที่จะเข้าใจว่าทำไมตารางถูกออกแบบมาเหมือนที่เคยเป็นมาและดูเหมือนว่าเป็นเรื่องใหญ่สำหรับฉัน แต่อาจมีเหตุผลที่ดีสำหรับมัน คำถามที่สามที่จะช่วยฉันถอดรหัสคำตอบ: ในกรณีที่มีหลายคอลัมน์ที่ใช้ในการประกอบคีย์หลักแบบผสมจะมีความได้เปรียบเฉพาะกับวิธีนี้เทียบกับคีย์ตัวแทน / เทียมหรือไม่ ฉันคิดว่าส่วนใหญ่เกี่ยวกับประสิทธิภาพการบำรุงรักษาการบริหาร ฯลฯ ?

15
เหตุใด SELECT * จึงถือว่าเป็นอันตราย
ทำไมSELECT *การปฏิบัติที่ไม่ดี? รหัสจะน้อยลงหรือไม่ถ้าคุณเพิ่มคอลัมน์ใหม่ที่คุณต้องการ ฉันเข้าใจว่าSELECT COUNT(*)เป็นปัญหาด้านประสิทธิภาพของฐานข้อมูลบางตัว แต่ถ้าคุณต้องการทุกคอลัมน์จริงๆ
256 sql  database 

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