Ma ktoś jakieś fajne, przejrzyste opracowanie na temat baz danych? Jaki książka/artykuł/video?
Potrzebuję czegoś krótko, zwięźle i na temat, najlepiej SQL Server.
#sql #bazydanych
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jezeli jednak miałbyś więcej czasu to polecam ten tytuł, solidnie wyjaśnione fundamenty, logika działania baz danych i trochę TSQLa - Podstawy języka T-SQL Microsoft SQL Server 2016 i Azure SQL Database Itzik Ben-Gan
  • Odpowiedz
@typeczek: Myśle, ze tak. Książka w przystępny sposób opisuje fundamenty pisania zapytań a do tego po każdym podrozdziale są zadania, wiec można od razu przełożyć wiedzę teoretyczna na praktykę na bazie testowej udostępnionej przez Microsoft
  • Odpowiedz
Chcę połączyć dwie tabele za pomocą JOIN ale w taki sposób aby z drugiej tabeli pobrać tylko dane wartości.

Obecnie jak robię:

SELECT * FROM a
LEFT JOIN b ON
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@przecietnyczlowiek: @Murasame: Warto zauważyć, że dodatkowe warunki w JOIN mają znaczenie w typie LEFT/RIGHT ponieważ są one typu OUTER.
Przy zastosowaniu INNER JOIN wstawienie dodatkowego warunku dla JOIN czy WHERE nie będzie miało znaczenia wydajnościowego - optymalizator zrobi i tak swoje.
  • Odpowiedz
Znacie jakieś konkretne bibliotek, które umożliwiają zaimplementowanie języka SQL do dowolnych zbiorów danych? Otóż mam różne bazy danych (głównie no-sql, key value itp...), chciałbym móc po ludzku odpytać i zrobić selekty. Chciałbym móc zaimplementować, rozszerzyć, osadzić język SQL, lub podobny do SQL do robienia zapytań - bez insertów i modyfikacji, tylko read.
Mam pewna sukcesy z SQLite i virtual tables, ale to takie jakieś na około.
DynamoDB używa PartiQL, ale nie ma informacji, czy
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Dawno nie używałem konstrukcji SQL'a, mam pytanko, jak mógłbym w konkretnej tabeli wyszukać odnośniki z końcówką .jpg, zmienić je na tę samą nazwę z końcówką .webp? (Chodzi o MySQL)

Jak nie MySQL to będę musiał zrobić pytongiem :D

#programowanie #sql #bazydanych
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki, rzuciłem wypowiedzenie i chcę się przebranżowić. Lubię dane, znam dość dobrze Excela (formuły, tworzyłem sobie makra, liznąłem trochę Power Query dla samego siebie). Chcę iść w kierunku analizy danych. Wygooglałem, że niezbędnym minimum jest znajomość #sql i PowerBI. W związku z tym pytanie: jaki kurs/książkę/inne źródło wiedzy polecacie do nauki SQL?

#pytaniedoeksperta #sql
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Defender: jak ogarniasz angielski to książki itzik Ben gan sql fundamentals (Microsoft SQL server).
Jak Oracle albo jakiś gówniany postgre to nie pomogę, ale z grubsza standard sql jest ten sam.
A jak nie znasz ang to zacznij od ang żeby chociaż dokumentację czytać
  • Odpowiedz
@Arogancky: wbudowany to se może być, ale największa patologia jak dostępny jest TYLKO tryb ciemny (na niektótych stronkach tak jest), wtedy osoby z większym astygmatyzmem sobie nie poczytają wygodnie ¯\_(ツ)_/¯
  • Odpowiedz
hej, potrzebuje pomocy z zapytaniem, mianowicie muszę uzyskać listę klientów, którzy nigdy nie skorzystali z danego typu płatności (przyjmijmy tą płatność jako id=1) i wykorzystali inne typy płatności przynajmniej 2 razy (dla id <> 1). Moje pytanie na stackoverflow: https://stackoverflow.com/questions/74559593/how-to-exclude-clients-that-have-never-used-exact-payment-method
#sql
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Tomz: ja bym zrobił CTE, w którym wybierzesz klientów, którzy użyli tej metody płatności, a później w warunku wyłączysz tych klientów. W twoim obecnym zapytaniu ignorowane są wiersze, w których występuje ten rodzaj płatności, ale nie wykluczasz samego klienta.

with clients (id) as (
select distinct p.clientid from payment p where p.paymentmethod =
  • Odpowiedz
@michal985: @Drmscape2: dzięki, chyba mnie naprowadziliście bo kominbowałem z wyciągnięciem bazy klientów z payment_method = 1 i wykluczeniem jej z zapytania ale nie bardzo wiedziałem jak. CTE mi coś nie działa w MySQL ale wyczytałem, że działa podzapytanie i chyba mam to :)
  • Odpowiedz
@rosso_corsa: Każdy silnik SQL ma swoje składnie. O ile podstawowe zapytania odpalisz mniej więcej wszędzie, to z funkcjami może nie być już tak łatwo :) Ale na przyszłość będziesz już wiedział. Ja się specjalizuję w MSSQL także z MariaDB niestety nie pomogę.
  • Odpowiedz
Cześć,

Czy ktoś z was miał okazję pracować z technologią hadoop w kontekście zadań związanych z tematyką Machine Learning ? jeśli tak to jak wyglądał proces tworzenia modeli, obróbki danych od początku rozpoczęcia ciągu technicznego ?

Jak rozumiem Hadoop to jest jakby to powiedzieć ogromny magazyn na przechowywanie dosłownie różnych danych z różnych systemów dane te mogą być ustrukturyzowane, nieustrukturyzowane itp. wchodzą oni to jak dobrze rozumiem przestrzeni HDFS na surowo, i jak wiemy
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Pytanie. Tworzę hurtownię danych na SQL Server/Azure SQL. Na źródle mam pewne kategorie jako nvarchar. Np. typ dokumentu = faktura albo zamówienie. Podczas ładowania ze stagingu do hurtownii, denormalizuję tabele by uzyskać tabelę faktów czyli np. robie joina z jednej tabeli do drugiej, gdzie warunek to typ dokumentu = typ dokumentu. Czy dostaję jakąś stratę na performancie, że robie takie rzeczy po tekście zamiast jakichś integerach np? Czy uzyskałbym lepszy perfomance gain
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@przecietnyczlowiek:

Czy dostaję jakąś stratę na performancie, że robie takie rzeczy po tekście zamiast jakichś integerach np?

Tak

Czy uzyskałbym lepszy perfomance gain gdybym na wejściu zrobił case when [typ dokumentu] = faktura then 1 itd. i potem po tym joinował?

Nie
  • Odpowiedz
Hej,
Chciałbym w praktyce poćwiczyć #sql w #gis i ogólnie zwiększyć swoją wiedzę w tym temacie.

Pomyślałem o założeniu prostej bazy danych postgres z jakimiś darmowymi danymi z geoportalu itp.

Zastanawiam się w jaki sposób postawić taką bazę, żeby była dostępna online, ale małym kosztem, a najlepiej za darmo ( ͡º
PanDanda - Hej,
Chciałbym w praktyce poćwiczyć #SQL w #gis i ogólnie zwiększyć swoją ...

źródło: comment_1668173485jGquDaLcPhBM7wbwGUe3X2.jpg

Pobierz
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@PanDanda: to użyj postgresa (jeśli to ma być ta baza i ten dialekt) w ramach RDS na AWSie albo w ramach Azure Database na Azure
i na awsie i na azure masz na początek darmową ofertę free tier
  • Odpowiedz
Uwaga, wykradłem tajny skrypt z Lotto na dzisiejsze losowanie.

WITH Cyferki AS
(
SELECT d
FROM (VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) AS D(d)
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Miraski mam tak z 3 miesiące wolne od pracy i jako że mam doświadczenie w SQL, Python i Excel to myślałem żeby się w--------c na analityka danych do jakieś firmy xD na chwile albo dluzej, 4fun, ale nie wiem czy opłaca się pocic, bo widzę że zapotrzebowanie ogromne, ale jak popyt to wiadomo podaż zazwyczaj też

Główne pytania:
Czy duża konkurencja
Czy praca zdalna w większości
Nie wiem coś dodajcie od siebie co warto wiedziec
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki z #bazydanych i #mysql , mam problem z zapytaniem:

Otóż mam następujące złożone zapytanie (jest ono zapisywane w widoku CREATE VIEW):


SELECT
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@rico91: ewentualnie: mogę dać tutaj: where allegroitem.clientId = 1005 OR allegroitem.clientId is NULL.

Zadziała poprawnie dla towarów niewystawionych na żadnym koncie, lub wystawionych tylko na koncie o ID 1005. Ale jeżeli towar jest wystawiony na koncie o ID 1000 to co wtedy? Nie znajdzie go jako pusty (niewystawiony). Jak zrobić, żeby tam pojawiły się nulle? Ewentualnie dodać jeszcze jeden JOIN kiedy allegro_items nie jest null? Tylko jak coś
  • Odpowiedz
@rico91: Już wiem ( ͡° ͜ʖ ͡°)

wystarczy dać LEFT JOIN allegroitems ON ... AND clientID = 1005, wtedy łączy tylko to albo daje null

niestety minus taki, że będę musiał zrezygnować z widoku i po prostu wykonywać zapytanie wszędzie, ale powiedzmy że lepsze to niż duplikowanie rekordów albo przerabianie paginacji... Chyba że jest jakiś inny sposób, żeby jednak ten widok zostawić?
  • Odpowiedz
@Metylo: CTEs, typy joinów (więcej niż 4), window functions, union/union all/intersect/except, dlaczego select * jest złą praktyką, deduplikacje, + jako data analyst to pewnie będziesz głównie odpytywał bazę, ale możesz poczytać o twierdzeniach DML/DDL, co to star schema etc.
  • Odpowiedz
Jakie polecacie źródła do nauki SQLa? Zarówno miejsca gdzie można ćwiczyć w 'praktyce' - jak np. sql-ex ale również jakieś materiały bardziej teoretyczne

#sql #bazydanych
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

- częste pytanie: czym się różni Union od Union all i które jest szybsze
- Co to jest deadlock, jakie znasz rodzaje lockow
- Co się stanie jak za słówkiem kluczowym where w zapytaniu 'Delete from tabela where ' dasz średnik? (możesz powiedziec że zostaną usunięte wszystkie rekordy albo wg mnie lepiej, błąd kompilacji, niepoprawna składnia)
- jakie znasz sposoby optymalizacji zapytań
- co to jest CTE
- czym się różni having
  • Odpowiedz