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

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

2
IN เทียบกับตัวดำเนินการใด ๆ ใน PostgreSQL
ความแตกต่างระหว่างINและANYตัวดำเนินการใน PostgreSQL คืออะไร? กลไกการทำงานของทั้งสองดูเหมือนจะเหมือนกัน ใครช่วยอธิบายเรื่องนี้ด้วยตัวอย่างได้ไหม

6
เหตุใดการใช้อักขระขีดล่างในตัวกรอง LIKE จึงให้ผลลัพธ์ทั้งหมดแก่ฉัน
ฉันเขียนแบบสอบถาม SQL ด้านล่างโดยมีLIKEเงื่อนไข: SELECT * FROM Manager WHERE managerid LIKE '_%' AND managername LIKE '%_%' ในส่วนLIKEฉันต้องการค้นหาขีดล่าง%_%แต่ฉันรู้ว่าข้อมูลในคอลัมน์ของฉันไม่มีอักขระขีดล่าง เหตุใดแบบสอบถามจึงให้บันทึกทั้งหมดจากตารางแก่ฉัน ข้อมูลตัวอย่าง: create table Manager( id int ,managerid varchar(3) ,managername varchar(50) ); insert into Manager(id,managerid,managername)values(1,'A1','Mangesh'); insert into Manager(id,managerid,managername)values(2,'A2','Sagar'); insert into Manager(id,managerid,managername)values(3,'C3','Ahmad'); insert into Manager(id,managerid,managername)values(4,'A4','Mango'); insert into Manager(id,managerid,managername)values(5,'B5','Sandesh'); Sql-Fiddle
119 sql  sql-server 

6
ด้วย (NOLOCK) เทียบกับระดับการแยกการทำธุรกรรมที่ตั้งไว้อ่านโดยไม่ได้รับอนุญาต
ใครช่วยให้คำแนะนำฉันได้บ้างว่าเมื่อใดที่ฉันควรใช้WITH (NOLOCK)เมื่อเทียบกับSET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ข้อดี / ข้อเสียของแต่ละข้อคืออะไร? มีผลที่ไม่คาดคิดใด ๆ ที่คุณพบเมื่อใช้งานเมื่อเทียบกับผลกระทบอื่น ๆ หรือไม่?

4
SQLite รีเซ็ตฟิลด์คีย์หลัก
ฉันมีตารางสองสามตารางใน SQLite และฉันกำลังพยายามหาวิธีรีเซ็ตฟิลด์ฐานข้อมูลที่เพิ่มขึ้นอัตโนมัติ ฉันอ่านแล้วว่าDELETE FROM tablenameควรลบทุกอย่างและรีเซ็ตช่องเพิ่มอัตโนมัติกลับไป0แต่เมื่อฉันทำสิ่งนี้มันจะลบข้อมูลเท่านั้น เมื่อใส่เร็กคอร์ดใหม่การเพิ่มอัตโนมัติจะดึงขึ้นมาจากจุดที่ค้างไว้ก่อนที่จะลบ identคุณสมบัติเขตข้อมูลของฉันมีดังนี้: ประเภทฟิลด์ :integer ธงสนาม : PRIMARY KEY, AUTOINCREMENT,UNIQUE เป็นเรื่องสำคัญหรือไม่ที่ฉันสร้างตารางใน SQLite Maestro และฉันกำลังดำเนินการDELETEคำสั่งใน SQLite Maestro ด้วย ความช่วยเหลือใด ๆ จะดีมาก
118 sql  sqlite 

11
Sqlite: CURRENT_TIMESTAMP อยู่ใน GMT ไม่ใช่เขตเวลาของเครื่อง
ฉันมีตาราง sqlite (v3) พร้อมคำจำกัดความคอลัมน์นี้: "timestamp" DATETIME DEFAULT CURRENT_TIMESTAMP เซิร์ฟเวอร์ที่ฐานข้อมูลนี้อาศัยอยู่อยู่ในเขตเวลา CST เมื่อฉันแทรกลงในตารางของฉันโดยไม่รวมคอลัมน์การประทับเวลา sqlite จะเติมข้อมูลในฟิลด์นั้นโดยอัตโนมัติด้วยการประทับเวลาปัจจุบันใน GMT ไม่ใช่ CST มีวิธีแก้ไขคำสั่งแทรกของฉันเพื่อบังคับให้ประทับเวลาที่จัดเก็บไว้เป็น CST หรือไม่ ในทางกลับกันมันน่าจะดีกว่าที่จะจัดเก็บไว้ใน GMT (ในกรณีที่ฐานข้อมูลถูกย้ายไปยังเขตเวลาอื่นเป็นต้น) ดังนั้นมีวิธีใดบ้างที่ฉันสามารถแก้ไข SQL ที่เลือกเพื่อแปลงการประทับเวลาที่เก็บไว้เป็น CST ได้เมื่อฉัน แยกมันออกจากตาราง?

10
วิธีที่มีประสิทธิภาพในการใช้เพจจิ้ง
ฉันควรใช้ LINQ Skip()และTake()เมธอดในการเพจหรือใช้เพจจิ้งของตัวเองกับคิวรี SQL? ข้อใดมีประสิทธิภาพสูงสุด ทำไมฉันถึงเลือกอย่างใดอย่างหนึ่ง ฉันใช้ SQL Server 2008, ASP.NET MVC และ LINQ

8
ใน MySQL จะคัดลอกเนื้อหาของตารางหนึ่งไปยังตารางอื่นภายในฐานข้อมูลเดียวกันได้อย่างไร
ฉันยังใหม่กับ MySQL ฉันต้องการคัดลอกเนื้อหาของตารางหนึ่งไปยังอีกตารางหนึ่งในฐานข้อมูลเดียวกัน โดยพื้นฐานแล้วฉันต้องการแทรกลงในตารางจากตารางอื่น มีวิธีง่ายๆในการทำเช่นนี้หรือไม่?
118 sql  mysql  database 

12
การเปรียบเทียบ SQLite DateTime
ดูเหมือนว่าฉันจะไม่ได้ผลลัพธ์ที่น่าเชื่อถือจากการสืบค้นเทียบกับฐานข้อมูล sqlite โดยใช้สตริงวันที่และเวลาเป็นตัวเปรียบเทียบ: select * from table_1 where mydate >= '1/1/2009' and mydate <= '5/5/2009' ฉันจะจัดการการเปรียบเทียบ datetime กับ sqlite ได้อย่างไร update: field mydate เป็นประเภทข้อมูล DateTime
118 sql  sqlite 

3
ค้นหาองค์ประกอบอาร์เรย์ภายในประเภท JSON
ฉันกำลังพยายามทดสอบjsonประเภทใน PostgreSQL 9.3 ฉันมีjsonคอลัมน์ที่เรียกว่าในตารางที่เรียกว่าdata reportsJSON มีลักษณะดังนี้: { "objects": [ {"src":"foo.png"}, {"src":"bar.png"} ], "background":"background.png" } ฉันต้องการสอบถามตารางสำหรับรายงานทั้งหมดที่ตรงกับค่า "src" ในอาร์เรย์ "วัตถุ" ยกตัวอย่างเช่นมันเป็นไปได้ที่จะสอบถาม DB สำหรับรายงานทั้งหมดที่จับคู่'src' = 'foo.png'? ฉันเขียนข้อความค้นหาที่ตรงกับ"background": SELECT data AS data FROM reports where data->>'background' = 'background.png' แต่เนื่องจาก"objects"มีอาร์เรย์ของค่าดูเหมือนว่าฉันจะเขียนสิ่งที่ใช้งานไม่ได้ มันเป็นไปได้ที่จะสอบถาม DB สำหรับรายงานทั้งหมดที่จับคู่'src' = 'foo.png'? ฉันได้ตรวจสอบแหล่งที่มาเหล่านี้แล้ว แต่ยังไม่สามารถรับได้: http://www.postgresql.org/docs/9.3/static/functions-json.html ฉันจะสอบถามโดยใช้ช่องภายในประเภทข้อมูล PostgreSQL JSON ใหม่ได้อย่างไร http://michael.otacoo.com/postgresql-2/postgres-9-3-feature-highlight-json-operators/ ฉันได้ลองทำสิ่งนี้เช่นกัน แต่ไม่มีประโยชน์: …
118 sql  json  postgresql  jsonb  lateral 


13
เรียกใช้ไฟล์ SQL ทั้งหมดในไดเร็กทอรี
ฉันมีไฟล์. sql จำนวนหนึ่งซึ่งฉันต้องเรียกใช้เพื่อใช้การเปลี่ยนแปลงที่ทำโดยนักพัฒนารายอื่นบนฐานข้อมูล SQL Server 2005 ไฟล์ถูกตั้งชื่อตามรูปแบบต่อไปนี้: 0001 - abc.sql 0002 - abcef.sql 0003 - abc.sql ... มีวิธีเรียกใช้ทั้งหมดในครั้งเดียวหรือไม่?

10
จะใช้วิธีการ bindValue ในประโยค LIMIT ได้อย่างไร
นี่คือภาพรวมของรหัสของฉัน: $fetchPictures = $PDO->prepare("SELECT * FROM pictures WHERE album = :albumId ORDER BY id ASC LIMIT :skip, :max"); $fetchPictures->bindValue(':albumId', $_GET['albumid'], PDO::PARAM_INT); if(isset($_GET['skip'])) { $fetchPictures->bindValue(':skip', trim($_GET['skip']), PDO::PARAM_INT); } else { $fetchPictures->bindValue(':skip', 0, PDO::PARAM_INT); } $fetchPictures->bindValue(':max', $max, PDO::PARAM_INT); $fetchPictures->execute() or die(print_r($fetchPictures->errorInfo())); $pictures = $fetchPictures->fetchAll(PDO::FETCH_ASSOC); ฉันเข้าใจ คุณมีข้อผิดพลาดในไวยากรณ์ SQL ของคุณ ตรวจสอบคู่มือที่ตรงกับเวอร์ชันเซิร์ฟเวอร์ MySQL ของคุณสำหรับไวยากรณ์ที่เหมาะสมที่จะใช้ใกล้ '' …
117 php  mysql  sql  pdo  bindvalue 

4
วิธีแก้ไขค่าในตารางใน SQL Server Management Studio อย่างรวดเร็ว
นอกเหนือจากเมนูบริบท -> "แก้ไข 200 แถวบนสุด" จาก Object Explorer มีวิธีที่รวดเร็วในการเปิดตารางในโหมดแก้ไขที่ฉันสามารถแก้ไขค่าของเซลล์ได้อย่างรวดเร็วหรือไม่ ฉันต้องสามารถเลื่อนผ่าน 200 แถวแรกได้ และฉันไม่ต้องการเขียนสคริปต์ "แทรก" สำหรับการปรับแต่งเล็กน้อยทุกรายการที่ฉันต้องทำ ... ฉันไม่เข้าใจว่าเหตุใด SMS จึงไม่สามารถเข้าถึงโปรแกรมแก้ไขตารางเพจได้อย่างรวดเร็ว (เช่น Navicat)
117 sql  sql-server  ssms 


10
ความแตกต่างระหว่างความสัมพันธ์แบบหนึ่งต่อกลุ่มและแบบกลุ่มต่อหนึ่ง
อะไรคือความแตกต่างที่แท้จริงระหว่างความสัมพันธ์แบบหนึ่งต่อกลุ่มและหลายต่อหนึ่ง มันกลับกันเท่านั้นชนิดของ? ฉันไม่พบบทช่วยสอนที่ 'ดีและเข้าใจง่าย' เกี่ยวกับหัวข้อนี้นอกเหนือจากหัวข้อนี้: SQL for Beginners: ตอนที่ 3 - ความสัมพันธ์ของฐานข้อมูล

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