Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

does the existence of an asterisk in a select exclude other columns?

Tags:

sql

mysql

mariadb

This question is all about laziness... I'd like to do something like this:

select some_func(some_col), * from my_table

So that I don't have to do this:

select some_func(some_col), col_1, col_2... col_ad_infinitum from my_table

Is there any way to make the first query work? This is the error I get when I run it:

ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* from my_table' at line 1
like image 692
andersonbd1 Avatar asked Sep 27 '11 20:09

andersonbd1


People also ask

What does asterisk mean in select statement?

The asterisk symbol (*) The following query uses the wildcard asterisk symbol (*) as shorthand in the projection list to represent the names of all the columns in the table. You can use the asterisk symbol (*) when you want all the columns in their defined order. An implicit select list uses the asterisk symbol.

What does * mean in select?

An asterisk (" * ") can be used to specify that the query should return all columns of the queried tables. SELECT is the most complex statement in SQL, with optional keywords and clauses that include: The FROM clause, which indicates the table(s) to retrieve data from.

What does asterisk mean after select SQL?

SQL Used. SELECT * FROM <table name>; The asterisk or star symbol ( * ) means all columns. The semi-colon ( ; ) terminates the statement like a period in sentence or question mark in a question.

What does the asterisk (*) after Select tell the database to do?

The asterisk tells the database to select all data in the table.


1 Answers

Do you mean that in MySQL your first query:

SELECT some_func(some_col), * 
FROM my_table

produces this error?:

Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*' at line 1


You can change your code into (this results in no errors!):

SELECT *, some_func(some_col) 
FROM my_table

or into this, if you want to have the calculated columns first:

SELECT some_func(some_col), t.* 
FROM my_table AS t
like image 126
ypercubeᵀᴹ Avatar answered Oct 04 '22 21:10

ypercubeᵀᴹ