알아두면 멋진 SQL 약자는 무엇입니까? 예를 들어SQL 쿼리 바로 가기
는, 오늘 배운 것을 사용하여 인덱스에 의해 그룹에 지정할 수 있습니다 :
SELECT col1, col2 FROM table GROUP BY 2
COL2
알아두면 멋진 SQL 약자는 무엇입니까? 예를 들어SQL 쿼리 바로 가기
는, 오늘 배운 것을 사용하여 인덱스에 의해 그룹에 지정할 수 있습니다 :
SELECT col1, col2 FROM table GROUP BY 2
COL2
참조 아론 버트 랜드의 "나쁜 습관 걷어차 SQL에서"시리즈는 - 그는이에 게시물을 가지고 있으며, 매우 그 표기법을 사용 하지 권장
http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/06/bad-habits-to-kick-order-by-ordinal.aspx
마크
서수의이 의지 그룹 -의 장소에 대한 참조입니다 번호를 사용 SELECT 절 - GROUP BY 및 ORDER BY 절에서 사용할 수 있습니다. 그러나 주문이 변경되면 검색어에 영향을 미치기 때문에 추천하지 않습니다.
표 별칭은 필수 항목입니다. IE :
SELECT
FROM THIS_IS_MY_UNGODLY_TABLE_NAME timutn
는 ... 내가 원하는 경우 전체 테이블의 이름을 입력보다/열에서 오는 어떤 테이블 명확하게 할 필요가 오히려 timutn
를 사용할 수 있다는 것을 의미합니다. 언제나 전체 테이블 이름을 실제로 입력하려고 할 때 필수적입니다.
실제로 테이블 별칭을 사용하게 된 이유는 테이블 별칭을 사용하는 경우 일부 SQL IDE가 해당 테이블의 열 목록 만 제공 할 정도로 현명한 인텔리 전스를 가졌기 때문입니다.
+1 SQL Server에 의해 지원되지 않습니다, 나는 항상 별칭을 사용합니다. –
SQL Server에서 GROUP BY가 아닙니다. – gbn
당신의 조건 경우 실제로 쿼리를 실행할 때 쿼리를 알 수 없으므로 이 유용합니다.
예 :
$query = 'SELECT * FROM table ';
<?php if ($something) { ?>
$sql.= 'WHERE something = ' . $variable;
<?php } else { ?>
$sql.= 'WHERE something = ' . $another;
<?php } ?>
많은 분기가 진행되는 경우 그러한 고통이 될 수 있습니다. (물론 쿼리 문자열을 만드는 것도 믿지 않지만,이 예제를 위해서입니다).
쉬운 방법 : 물론
$query = 'SELECT * FROM table WHERE 1=1 ';
<?php if ($something) { ?>
$sql.= 'AND something = ' . $variable;
<?php } else { ?>
$sql.= 'AND something = ' . $another;
<?php } ?>
나는 아마 내가 조건을 지정할 수있는 where
방법이있는 래퍼/클래스를 사용합니다.
왜 이것을 사용하고 그것이 어떤 이점을 주는지 설명 할 수 있습니까? – gbn
아. 알 겠어. 따라서 클라이언트 코드에서 SQL 문을보다 쉽게 구축 할 수 있습니다. 자신을 SQL 삽입에 맡기지 않기를 바랍니다. ;-) – gbn
+1 : PHP에서는 implode 함수를 사용하여 where 문을 작성한 다음 구분자를 논리 연산자로 사용 예 : $ q = "select * from mytable where".implode ('and', $ _ where); 분명히 $ _where는 배열이어야하며 where 절을 추가하기 전에 sizeof()를 확인하여 창의적 일 수 있습니다. :) –
이와 같은 질문은 커뮤니티 위키가되어야합니다. –
모든 SQL 구현이 그룹별로 서수를 지원한다고 생각하지 않습니다. –
지름길이 아닙니다. 위험합니다. 그리고 적어도 – gbn