SQL 2.0 (#4) Podzapytania

Поделиться
HTML-код
  • Опубликовано: 30 янв 2025

Комментарии • 34

  • @Pasjainformatyki
    @Pasjainformatyki  Год назад +4

    Partnerem kanału jest justjoin.it - portal z największą ilością ofert pracy z widełkami!
    Szukasz pracy gdzie wymagana jest znajomość SQL'a?! Zajrzyj:
    ▶ bit.ly/justjoin-sql
    Inne oferty od justjoin.it:
    ▶ bit.ly/justjoin-python
    ▶ bit.ly/justjoin-php
    ▶ bit.ly/justjoin-security

  • @karolinauzniak928
    @karolinauzniak928 7 месяцев назад +1

    naprawdę super kurs! Mam nadzieję, że będzie kontynuacja :)

  • @frankzelazko
    @frankzelazko Год назад +2

    Bardzo przydatny materiał ! Dziękujemy

  • @Arczi1992
    @Arczi1992 Год назад +6

    Kawał dobrej roboty!:) Jakieś plany na kolejne filmy z SQL?

  • @MADZIA0606
    @MADZIA0606 Год назад +3

    *Dziękuję* 😊👍

  • @przemysaw3125
    @przemysaw3125 Год назад +2

    Pierwszą rzeczą, którą robię, gdy odpala kolejny odcinek tej serii, to danie like'a w ciemno :D Dorzuciłem też parę groszy, aby choć trochę wspomóc was rozwijaniu nauki o DB

  • @kamil1119
    @kamil1119 Год назад +1

    Czekamy na kolejny odcinek :)

  • @Mi205W
    @Mi205W Год назад

    Super :) Pomocny materiał :)

  • @sdsdsdsdsdsds-u3f
    @sdsdsdsdsdsds-u3f 8 месяцев назад

    poszlo mi dobrze naprawde!

  • @titoloriginal4108
    @titoloriginal4108 6 месяцев назад +5

    Kiedy następny odcinek z SQL-a?

  • @ens8502
    @ens8502 10 месяцев назад +1

    Dziękuję za ten znakomity kurs. Czy to już koniec, czy będą kolejne odcinki/sezony?

  • @Crookoful
    @Crookoful 5 часов назад

    Czy będzie dalej kontynuowana seria sql, będą następne odcinki ?

  • @bartlomiejodachowski
    @bartlomiejodachowski Год назад

    mam tendencje do zapominania o rozwiązaniu z wykorzystaniem EXIST i IN, bo jesli wynik zwraca wektor-tablice to pierwsze co mam w głowie to zeby złączyć orginalną tablice z tą uzyskaną

  • @BlachAable
    @BlachAable Год назад +3

    przydałby się nowy odcineczek z sql :)

  • @WielkiSzef
    @WielkiSzef Год назад +1

    Kiedy będzie 2 część Canvas?

  • @michyoda
    @michyoda 8 месяцев назад +1

    Pozdro z mechana ❤

  • @gramatyka2zero
    @gramatyka2zero 11 месяцев назад

    MAM PYTANIE, ale zanim je zadam, to dziękuję za kurs ;)
    Czy istnieje możliwość połączenia JOIN'em tabelę wirtualną (wygenerowaną zapytaniem) z tabelą z bazy, aby wygenerować kolejne zapytanie?

  • @jakubsiewior6111
    @jakubsiewior6111 Год назад +1

    Witam, gdzie można znaleźć rozwiązania do zadań domowych?

  • @essanator3000
    @essanator3000 Год назад

    Jakie zapytanie jest w stanie zwrócić informację o wszystkich autach, a w dodatkowej kolumnie średnią cenę dla danej marki? (dla marki której dotyczy dany rekord)

    • @iwonazima6927
      @iwonazima6927 Год назад

      też się nad tym zastanawiałam ale do tego chyba nie trzeba twoerzyć podzapytania tylko w select stworzyć avg z ceny i pogrupować wg kolumny marka, ale mogę się mylić bo dopiero się tego uczę

  • @srogamina
    @srogamina 10 месяцев назад

    import bazy wyp. v4 w MySQL Workbench jest utrudniony przez błędy, program mówi, że ilość znaków na nr rejestracyjny jest zbyt mała, z niejasnych powodów program nie chciał także uzupełnić ostatniej tabeli. Udało mi się to dopiero, gdy zmieniłem ilość znaków w kolumnie nr rejestracyjny, chociaż błąd dotyczył (chyba) czegoś innego, mianowicie Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails (`wypozyczalnia_samochodow_v4`.`dane_wypozyczen`, CONSTRAINT `s_1` FOREIGN KEY (`id_samochodu`) REFERENCES `samochody` (`id_samochodu`) ON UPDATE CASCADE).

  • @Daniel-l6g8z
    @Daniel-l6g8z Год назад

    Kiedy nowy odcinek? ;-))

  • @seyurstyp1045
    @seyurstyp1045 9 месяцев назад +1

    Poleca ktoś jakąś książkę w miarę nową do SQL?

  • @bogus1666
    @bogus1666 Год назад

    Zrobicie odcinek z egzaminu inf04?

  • @haznoskill
    @haznoskill Год назад +1

    ok

  • @titoloriginal4108
    @titoloriginal4108 6 месяцев назад

    Challenge accepted 22:30
    SELECT
    samochody.marka,
    samochody.model,
    samochody.nr_rejestracyjny,
    samochody.cena_katalogowa,
    (SELECT round(AVG(samochody.cena_katalogowa), 2)
    FROM samochody
    WHERE samochody.marka='opel') AS 'średnia cena za Opla',
    concat(
    CASE
    WHEN ((SELECT AVG(samochody.cena_katalogowa)*(-1)
    FROM samochody
    WHERE samochody.marka='opel') + samochody.cena_katalogowa) > 0 THEN '+'
    ELSE '' END,
    (SELECT round(AVG(samochody.cena_katalogowa)*(-1))
    FROM samochody
    WHERE samochody.marka='opel') + samochody.cena_katalogowa) AS 'cena względem średniej',
    CASE
    WHEN ((SELECT AVG(samochody.cena_katalogowa)*(-1)
    FROM samochody
    WHERE samochody.marka='opel') + samochody.cena_katalogowa) > 0 THEN 'powyżej'
    WHEN ((SELECT AVG(samochody.cena_katalogowa)*(-1)
    FROM samochody
    WHERE samochody.marka='opel') + samochody.cena_katalogowa) < 0 THEN 'poniżej'
    ELSE 'równa' END AS 'cena powyżej/równa/poniżej średniej'
    FROM samochody
    WHERE samochody.marka='opel';

  • @SAIF-v7p
    @SAIF-v7p Год назад +1

    Nie widzę nigdzie odpowiedzi do zadań na końcu, więc tu zamieszczam moje rozwiązania.
    1.
    SELECT
    klienci.id_klienta
    FROM klienci
    WHERE klienci.id_klienta NOT IN
    (SELECT
    wypozyczenia.id_klienta
    FROM wypozyczenia
    WHERE id_klienta IS NOT NULL)
    2.
    SELECT
    klienci.imie_klienta,
    klienci.nazwisko_klienta
    FROM klienci
    WHERE klienci.id_klienta
    NOT IN (SELECT
    klienci.id_klienta
    FROM klienci INNER JOIN wypozyczenia ON wypozyczenia.id_klienta=klienci.id_klienta
    INNER JOIN dane_wypozyczen ON dane_wypozyczen.id_wypozyczenia=wypozyczenia.id_wypozyczenia
    INNER JOIN samochody ON samochody.id_samochodu=dane_wypozyczen.id_samochodu
    INNER JOIN klasy_samochodow ON klasy_samochodow.id_klasy=samochody.id_klasy
    WHERE klasy_samochodow.nazwa_klasy= 'sedan')
    3.
    SELECT
    samochody.marka,
    samochody.model,
    samochody.nr_rejestracyjny,
    samochody.cena_katalogowa,
    COUNT(dane_wypozyczen.id_wypozyczenia) as 'ile'
    FROM samochody
    INNER JOIN dane_wypozyczen ON dane_wypozyczen.id_samochodu=samochody.id_samochodu
    GROUP BY samochody.model
    4.
    SELECT
    samochody.marka,
    samochody.model,
    COUNT(dane_wypozyczen.id_wypozyczenia) 'ile'
    FROM samochody
    INNER JOIN dane_wypozyczen ON dane_wypozyczen.id_samochodu=samochody.id_samochodu
    GROUP BY samochody.marka
    HAVING COUNT(dane_wypozyczen.id_wypozyczenia) = (SELECT
    COUNT(dane_wypozyczen.id_wypozyczenia) 'min'
    FROM samochody
    INNER JOIN dane_wypozyczen ON dane_wypozyczen.id_samochodu=samochody.id_samochodu
    GROUP BY samochody.marka
    ORDER BY COUNT(dane_wypozyczen.id_wypozyczenia)
    LIMIT 1)

    • @FundacjaKiM2008
      @FundacjaKiM2008 Год назад

      Można prościej zadanie 4 - bez HAVING:
      SELECT
      samochody.marka,
      samochody.model,
      COUNT(dane_wypozyczen.id_wypozyczenia)
      FROM samochody
      INNER JOIN dane_wypozyczen ON dane_wypozyczen.id_samochodu=samochody.id_samochodu
      GROUP BY samochody.marka
      ORDER BY `COUNT(dane_wypozyczen.id_wypozyczenia)` ASC
      LIMIT 1

  • @TheMelomanik
    @TheMelomanik Год назад

    Ad. Zadania domowego 4
    Podane w pliku na blogu rozwiązanie pokazuje auta, które zostały wypożyczone najmniej razy - konkretne sztuki (nr rejestracyjny).
    Czy właściwą odpowiedzią na pytanie "wyświetl marki i modele aut" nie będzie pokazanie marki i modelu, który był wypożyczany najrzadziej?
    Kod:
    SELECT
    samochody.marka,
    samochody.model,
    COUNT(dane_wypozyczen.id_samochodu) as "Ile_razy"
    FROM samochody
    INNER JOIN dane_wypozyczen on dane_wypozyczen.id_samochodu=samochody.id_samochodu
    GROUP by samochody.model
    HAVING Ile_razy = (SELECT
    COUNT(dane_wypozyczen.id_samochodu) as "ilość"
    FROM samochody
    INNER JOIN dane_wypozyczen on dane_wypozyczen.id_samochodu=samochody.id_samochodu
    GROUP by samochody.model
    ORDER BY COUNT(dane_wypozyczen.id_samochodu) ASC
    LIMIT 1);

  • @R3st0k1n
    @R3st0k1n Год назад

    bez zmiennych jak bez ręki... # 22:42
    SELECT ROUND(AVG(samochody.cena_katalogowa), 2) INTO @avg FROM samochody WHERE samochody.marka = 'opel';
    SELECT
    samochody.marka,
    samochody.model,
    samochody.cena_katalogowa,
    ROUND((samochody.cena_katalogowa - @avg), 2) AS 'cena wzgledem sredniej',
    (IF(ROUND((samochody.cena_katalogowa - @avg), 2) > 0, 'powyzej', 'ponizej')) AS 'cena powyzej/ponizej sredniej'
    FROM samochody
    WHERE samochody.marka = 'opel'

    • @srogamina
      @srogamina 10 месяцев назад

      udało mi się prościej (w MySQL workbench):
      SELECT
      *,
      (SELECT round(avg(samochody.cena_katalogowa), 2)
      FROM samochody
      WHERE samochody.marka = 'opel') as 'srednia',
      (SELECT
      samochody.cena_katalogowa - srednia) AS 'roznica',
      IF((SELECT
      samochody.cena_katalogowa - srednia)>0, 'powyzej sredniej', 'ponizej sredniej') AS 'powyzej/ponizej'
      FROM samochody
      WHERE samochody.marka = 'opel';

  • @aq4582
    @aq4582 Год назад

    22:43:
    SET @srednia = (SELECT ROUND(AVG(samochody.cena_katalogowa),2)FROM samochody WHERE samochody.marka='opel');
    SELECT
    samochody.marka,
    samochody.model,
    samochody.nr_rejestracyjny,
    samochody.cena_katalogowa,
    @srednia,
    IF(samochody.cena_katalogowa > @srednia, CONCAT('+',' ',ROUND(samochody.cena_katalogowa-@srednia, 2)),CONCAT('-',' ',ROUND(@srednia-samochody.cena_katalogowa, 2))) AS 'cena względem średnej',
    IF(samochody.cena_katalogowa > @srednia,'powyżej', 'poniżej') AS 'cena powyżej / ponżej średniej'
    FROM samochody WHERE samochody.marka='opel'

  • @sukcesx9923
    @sukcesx9923 Год назад +3

    SELECT
    samochody.marka,
    samochody.model,
    samochody.nr_rejestracyjny,
    samochody.cena_katalogowa,
    samochody.cena_katalogowa - avg_cena.cena_srednia AS cena_względem_średniej,
    IF(samochody.cena_katalogowa - avg_cena.cena_srednia > 0, "powyżej_średniej", "poniżej_średniej") AS powyżej_poniżej_średniej
    FROM
    samochody
    JOIN
    (SELECT
    ROUND(AVG(samochody.cena_katalogowa),2) AS cena_srednia
    FROM
    samochody
    WHERE
    samochody.marka = "opel") AS avg_cena
    ON
    samochody.marka = "opel";