Path: blob/main/docs/source/src/python/user-guide/sql/select.py
8334 views
# --8<-- [start:setup]1import polars as pl23# --8<-- [end:setup]456# --8<-- [start:df]7df = pl.DataFrame(8{9"country": ["USA", "USA", "USA", "USA", "USA", "Netherlands"],10"city": [11"New York",12"Los Angeles",13"Chicago",14"Houston",15"Phoenix",16"Amsterdam",17],18"population": [8399000, 3997000, 2705000, 2320000, 1680000, 900000],19}20)2122ctx = pl.SQLContext(population=df, eager=True)2324print(ctx.execute("SELECT * FROM population"))25# --8<-- [end:df]2627# --8<-- [start:group_by]28result = ctx.execute(29"""30SELECT country, AVG(population) as avg_population31FROM population32GROUP BY country33"""34)35print(result)36# --8<-- [end:group_by]373839# --8<-- [start:orderby]40result = ctx.execute(41"""42SELECT city, population43FROM population44ORDER BY population45"""46)47print(result)48# --8<-- [end:orderby]4950# --8<-- [start:join]51income = pl.DataFrame(52{53"country": [54"USA",55"USA",56"USA",57"USA",58"Netherlands",59"Netherlands",60"Netherlands",61],62"city": [63"New York",64"Los Angeles",65"Chicago",66"Houston",67"Amsterdam",68"Rotterdam",69"Utrecht",70],71"income": [55000, 62000, 48000, 52000, 42000, 38000, 41000],72}73)74ctx.register_many(income=income)75result = ctx.execute(76"""77SELECT income.*, population.population78FROM population79LEFT JOIN income ON population.city = income.city80"""81)82print(result)83# --8<-- [end:join]848586# --8<-- [start:functions]87result = ctx.execute(88"""89SELECT city, population90FROM population91WHERE STARTS_WITH(country,'U')92"""93)94print(result)95# --8<-- [end:functions]9697# --8<-- [start:tablefunctions]98result = ctx.execute(99"""100SELECT *101FROM read_csv('docs/assets/data/iris.csv')102"""103)104print(result)105# --8<-- [end:tablefunctions]106107108