Pytania oznaczone «clause»

688
SQL JOIN - klauzula WHERE vs. klauzula ON

Po przeczytaniu go, to nie duplikat Explicit vs niejawny SQL przyłącza . Odpowiedź może być powiązana (lub nawet taka sama), ale pytanie jest inne. Jaka jest różnica i co powinno się w nich znaleźć? Jeśli dobrze rozumiem teorię, optymalizator zapytań powinien być w stanie używać obu...

247
GDZIE vs POSIADANIE

Dlaczego musisz umieszczać kolumny, które sam tworzysz (na przykład select 1 as "number") po MySQL, HAVINGa nie WHEREw MySQL? I czy są jakieś wady zamiast robić WHERE 1(zapisywanie całej definicji zamiast nazwy

162
Klauzula Left Join With Where

Muszę pobrać wszystkie domyślne ustawienia z tabeli ustawień, ale także pobrać ustawienie znaku, jeśli istnieje dla znaku x. Ale to zapytanie pobiera tylko te ustawienia, w których znak jest = 1, a nie ustawienia domyślne, jeśli użytkownik nikogo nie ustawił. SELECT `settings`.*,...

134
MySQL dołącz z klauzulą ​​where

Mam dwa stoły, do których chcę dołączyć. Chcę, aby wszystkie kategorie znajdowały się w tabeli kategorii, a także wszystkie kategorie zasubskrybowane przez użytkownika w tabeli category_subscriptions. w zasadzie to jest moje zapytanie do tej pory: SELECT * FROM categories LEFT JOIN...

121
Czy możesz użyć aliasu w klauzuli WHERE w mysql?

Muszę użyć aliasu w klauzuli WHERE, ale ciągle mówi mi, że jest to nieznana kolumna. Czy jest jakiś sposób na obejście tego problemu? Muszę wybrać rekordy, które mają ocenę wyższą niż x. Ocena jest obliczana jako następujący alias: sum(reviews.rev_rating)/count(reviews.rev_id) as...

121
Czy kolejność klauzul ma znaczenie w SQL?

Powiedzmy, że mam tabelę PEOPLEo nazwie mająca 3 kolumny ID, LastName, FirstName, żadna z tych kolumn nie jest indeksowana. LastNamejest bardziej wyjątkowy i FirstNamemniej wyjątkowy. Jeśli przeprowadzę 2 wyszukiwania: select * from PEOPLE where FirstName="F" and LastName="L" select * from...

107
MySQL - wartości ORDER BY w IN ()

Mam nadzieję, że posortuję elementy zwrócone w poniższym zapytaniu według kolejności, w jakiej zostały wprowadzone do funkcji IN () . WEJŚCIE: SELECT id, name FROM mytable WHERE name IN ('B', 'A', 'D', 'E', 'C'); WYNIK: | id | name | ^--------^---------^ | 5 | B | | 6 | B | | 1 | D | | 15 | E...