MySQL to jeden z najczęściej używanych języków do przechowywania danych w bazach danych. Język ma wiele poleceń zwanych zapytaniami, które pomagają użytkownikowi wykonywać różne zadania, w tym wyszukiwanie, modyfikowanie, aktualizowanie itp., a także sprawiają, że dane są prezentowane i zapewniają łatwą obsługę. Dwa najczęściej używane zapytania do wyszukiwania to Gdzie i Mając.
Klauzula „Posiadanie kontra miejsce”
Główną różnicą między klauzulą have i where jest wykonywana przez nich funkcja. Klauzula having jest używana z klauzulą group by i służy do filtrowania grupy, podczas gdy klauzula Where jest używana z różnymi klauzulami i służy do filtrowania danych w tabeli. Klauzula having nie może działać bez klauzuli group by.
Klauzula having służy do filtrowania kolumn, które są obecne w tabeli i są pogrupowane według określonego warunku podanego przez klauzulę group by. Zaletą używania klauzuli having jest to, że może ona zawierać funkcje agregujące, a także jest zaimplementowana w kolumnach.
Klauzula Where może być używana z kilkoma funkcjami, takimi jak SELECT, UPDATE, DELETE i służy do filtrowania rekordów obecnych w danej tabeli oraz może służyć do nadawania filtru podczas łączenia tabel. Klauzula działa na wierszach i nie wymaga klauzuli group by. Zapytanie o klauzulę where może wykonać dowolną operację logiczną, taką jak not, AND itp.
Tabela porównawcza między klauzulą „posiadanie” i „gdzie”
Parametry porównania | Posiadanie klauzuli | Gdzie klauzula |
Funkcjonować | Klauzula służy do filtrowania danych z grupy. | Klauzula where służy do filtrowania danych z rekordów tabeli. |
Grupuj według klauzuli | Nie może działać bez klauzuli group by i jest używane w zapytaniu po tym. | Może działać bez klauzuli group by, a nawet jeśli zostanie podana klauzula where jako pierwsza. |
Operacje zagregowane | Operacje agregujące można wykonywać na danych, ponieważ filtruje grupy. | Nie może wykonać tych operacji, ponieważ filtruje poszczególne wiersze. |
Podanie | Klauzula mająca jest używana z klauzulą group by, a następnie klauzula mająca działa na kolumnach grupy | Klauzula where służy do filtrowania wierszy danej tabeli. |
Wybór | Klauzula Mając najpierw pobiera całe dane, a następnie grupuje je, a następnie filtrowanie odbywa się zgodnie z określonym warunkiem. | Klauzula Where pobiera tylko określoną ilość danych zgodnie z podanym warunkiem. |
Co to jest klauzula?
Klauzula having służy do filtrowania danych i jest używana w zapytaniu w połączeniu z group by command. Klauzula group by najpierw grupuje dane zgodnie z zapytaniem, a następnie klauzula mająca jest używana do operowania na kolumnach zgrupowanych danych. Filtrowanie danych to dość długi proces.
Zaletą korzystania z tej klauzuli jest to, że może ona działać z różnymi funkcjami agregacyjnymi, takimi jak SUM, COUNT itp. Wynikiem przeprowadzonych obliczeń jest zazwyczaj liczba. Funkcje agregujące funkcji wielowierszowych mogą być używane, ponieważ są wykonywane na grupie, a kolejną zaletą jest to, że może również współpracować z instrukcją where.
Praca z klauzulą Where jest nieco inna. Następujące kroki to:-
Klauzula o posiadaniu ma swoje wady. Klauzula nie może być używana razem z kilkoma klauzulami, takimi jak Update, Modify, Delete, itp. i wystąpił problem. Sortuje również dane według grup, dlatego kilkakrotnie trudno jest posortować dane według niektórych preferencji.
Co to jest klauzula „Gdzie”?
Klauzula where jest używana w zapytaniu do filtrowania różnych rodzajów danych z rekordów tabeli. Instrukcja select ma swoje ograniczenia, ponieważ nie może wykonywać funkcji agregujących w zapytaniu, z którym jest używana, a także nie może pomóc w przypadkach, gdy potrzebna jest określona kwota.
Klauzula Where może być używana w różnych miejscach i z wieloma różnymi klauzulami, takimi jak Update, Modify, Delete i może być używana do wykonywania specjalnych zadań za jej pośrednictwem. Segregacja według tej klauzuli odbywa się przed klauzulą group by, tj. dane są wcześniej filtrowane i mogą lub nie mogą mieć klauzuli group by. Kroki wykonania wewnętrznego zapytania są następujące:-
Przykład:- WYBIERZ stan z nazwy tabeli, gdzie liczba=1 grupa po stanie;
Klauzula Where może wykonywać niektóre zadania, takie jak operacje logiczne i łączyć dwa lub więcej warunków lub negować warunek za pomocą operacji takich jak AND, OR i NOT.
Główne różnice między klauzulą „posiadanie” i „gdzie”
Wniosek
Klauzula Mając i Gdzie ma swoje zalety i wady, a jej użycie zależy od tego, gdzie jest używana i jak jest używana. Klauzula Mając jest używana tam, gdzie chcemy wykonać pewne funkcje agregujące, takie jak SUM, COUNT, a odpowiedź musi być podana jako dane zgrupowane zgodnie z warunkiem, podczas gdy klauzula Where jest używana, gdy mają być podane różne warunki i wybrane są różne kolumny ta podstawa. Klauzula having może być używana tylko z zapytaniem Select i jest to jedno z ograniczeń, podczas gdy klauzula Where może być używana w kilku zapytaniach, takich jak Modify, Update itp.