คำถามติดแท็ก where-clause

7
ที่ไหนที่มี
ทำไมคุณต้องวางคอลัมน์ที่คุณสร้างเอง (เช่นselect 1 as "number") หลังHAVINGและไม่WHEREอยู่ใน MySQL? และมีข้อเสียใด ๆ แทนการทำWHERE 1(เขียนคำจำกัดความทั้งหมดแทนชื่อคอลัมน์)?

6
เข้าร่วมซ้ายกับส่วนคำสั่งที่
ฉันต้องดึงการตั้งค่าเริ่มต้นทั้งหมดจากตารางการตั้งค่า แต่ยังคว้าการตั้งค่าตัวละครหากมีอยู่สำหรับตัวอักษร x แต่เคียวรีนี้ดึงข้อมูลการตั้งค่าเหล่านั้นโดยที่อักขระคือ = 1 ไม่ใช่การตั้งค่าเริ่มต้นหากผู้ใช้ไม่ได้กำหนดใครไว้ SELECT `settings`.*, `character_settings`.`value` FROM (`settings`) LEFT JOIN `character_settings` ON `character_settings`.`setting_id` = `settings`.`id` WHERE `character_settings`.`character_id` = '1' ดังนั้นฉันต้องการสิ่งนี้: array( '0' => array('somekey' => 'keyname', 'value' => 'thevalue'), '1' => array('somekey2' => 'keyname2'), '2' => array('somekey3' => 'keyname3') ) โดยที่ 1 และ 2 เป็นค่าเริ่มต้นเมื่อคีย์ 0 …


2
MySQL เข้าร่วมกับส่วนคำสั่งที่
ฉันมีสองตารางที่ฉันต้องการเข้าร่วม ฉันต้องการหมวดหมู่ทั้งหมดในตารางหมวดหมู่และหมวดหมู่ทั้งหมดที่สมัครใช้งานโดยผู้ใช้ในตารางหมวดหมู่_subscriptions เป็นหลักนี้คือแบบสอบถามของฉันจนถึง: SELECT * FROM categories LEFT JOIN user_category_subscriptions ON user_category_subscriptions.category_id = categories.category_id ใช้งานได้ดี แต่ฉันต้องการเพิ่มส่วนคำสั่งที่ส่วนท้ายของแบบสอบถามซึ่งทำให้การเข้าร่วม / equi ภายในเป็นหลัก SELECT * FROM categories LEFT JOIN user_category_subscriptions ON user_category_subscriptions.category_id = categories.category_id WHERE user_category_subscriptions.user_id = 1 ฉันจะรับหมวดหมู่ทั้งหมดตลอดจนหมวดหมู่ทั้งหมดที่สมัครรับข้อมูลโดยผู้ใช้รายใดรายหนึ่งโดยใช้คำค้นหาเดียวได้อย่างไร category_id เป็นกุญแจสำคัญในตารางหมวดหมู่และ user_category_subscriptions user_id อยู่ในตาราง user_category_subscriptions ขอบคุณ
130 mysql  join  where-clause 

6
ลำดับของคำสั่งที่มีความสำคัญใน SQL หรือไม่
สมมติว่าฉันมีตารางที่เรียกว่าPEOPLEมี 3 คอลัมน์ID, LastName, FirstNameไม่มีคอลัมน์ใดที่ถูกจัดทำดัชนี LastNameมีเอกลักษณ์มากขึ้นและFirstNameมีเอกลักษณ์น้อยกว่า หากฉันทำการค้นหา 2 ครั้ง: select * from PEOPLE where FirstName="F" and LastName="L" select * from PEOPLE where LastName="L" and FirstName="F" ความเชื่อของฉันคือข้อที่สองเร็วกว่าเนื่องจากเกณฑ์ที่ไม่ซ้ำกันมากขึ้น ( LastName) มาก่อนในwhereประโยคและบันทึกจะถูกกำจัดอย่างมีประสิทธิภาพมากขึ้น ฉันไม่คิดว่าเครื่องมือเพิ่มประสิทธิภาพจะฉลาดพอที่จะเพิ่มประสิทธิภาพ sql แรก ความเข้าใจของฉันถูกต้องหรือไม่?

6
MySQL - ORDER BY ค่าภายใน IN ()
ฉันหวังที่จะเรียงลำดับรายการกลับมาในการค้นหาต่อไปโดยลำดับที่พวกเขากำลังเข้าสู่ใน () ฟังก์ชัน อินพุต: SELECT id, name FROM mytable WHERE name IN ('B', 'A', 'D', 'E', 'C'); เอาท์พุท: | id | name | ^--------^---------^ | 5 | B | | 6 | B | | 1 | D | | 15 | E | | 17 | E | | …



7
เซิร์ฟเวอร์ SQL ละเว้นกรณีในนิพจน์ where
ฉันจะสร้างแบบสอบถาม SQL (MS SQL Server) ได้อย่างไรโดยที่ส่วนคำสั่ง "where" ไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่ SELECT * FROM myTable WHERE myField = 'sOmeVal' ฉันต้องการให้ผลลัพธ์กลับมาโดยไม่สนใจคดี
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.